MSComm步问题

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

27,375

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧