MSComm步问题

nwpumtm 2003-10-30 07:11:14
我在用VC做串口通讯的的转台控制程序,但当你通过串口向转台发查询位置指令后,要通过串口返回转台的当前位置信息,我需要将些信息放入一个float型变量中,但返回的位置信息是在Mscommm的Oncomm事件中的,请问在这如何等待这个返回值,我用了CEvent类,但是老是有问题,程序一运行就死在那里,请串口的高手想想办法,怎样在使用Mscomm控件进行串口通讯中解决同步问题。
...全文
9 点赞 收藏 3
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
luoquan 2003-10-31
MsComm这控件是使用多线程对串读写操作,当有数据进来时,会触发
OnComm事件,在这个事件中收到数据进行分析后可以通过SetEvent()
和WaitSingalObject()来实现同步,如果你的程序出问题,可能是就对
CEvent类不够了解,可以参考一下MFC的类库手册
实在不行就定义一个全局变量,通过设置变量的值和判断变量的值
来实现同步,不过这会影响系统的速度!!!
回复
Hermit 2003-10-31
最好查询缓冲,缓冲有数据就读。然后就进行必要的数据判断
回复
dboy1981 2003-10-31
好象没这么复杂吧
你用事件触发型的,if (GetEvent() == 2) //等于几,记不清楚了:)
就说明收到数据了,然后读缓冲区
你是怎么做的?
回复
发帖
单片机/工控
创建于2007-09-28

2.6w+

社区成员

硬件/嵌入开发 单片机/工控
申请成为版主
帖子事件
创建了帖子
2003-10-30 07:11
社区公告
暂无公告