一个读串口的问题

jason176374 2010-10-16 12:49:05
问题描述:
上位机每次向下位机发送命令后,下位机都要有一个回应。代表该命令师是否接收
并执行完成。
同时,上位机还有一个接收线程,在接收下位机传上来的数据。

现在的问题是,接收是否必须都在线程中处理?
有没有别的办法?
原来我再两个地方都有ReadFile,结果导致有时候命令传送发回的信息
也被线程所接收了。


...全文
76 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jason176374 2010-10-17
  • 打赏
  • 举报
回复
所以综上所述,接收是应该一个线程里做的。
然后再分别处理。
傻X 2010-10-16
  • 打赏
  • 举报
回复
那个监视的线程,只管监视和把数据读到缓冲区,并且通知界面线程处理啦,就这么简单。
nigna 2010-10-16
  • 打赏
  • 举报
回复
串口通讯,接收单独放在一个线程里面还是比较常用的用法,避免长时间读取不到串口发送来的数据,程序傻乎乎的等待。

我理解你的意图是接收分成两个部分:一个接收数据,另一个接收返回的命令字符。

建议:你可以都接收完了之后再分类处理,这样也不会造成多大的麻烦。
或者向楼上说的,加个标识,线程接收到串口发来的字符,遇到标识怎么样……,没遇到标识又怎么样……。
问题不难,楼主会成功的。
码侬 2010-10-16
  • 打赏
  • 举报
回复
用异步串口实现

在每次接收到数据时回调你指定的函数。
fangchao918628 2010-10-16
  • 打赏
  • 举报
回复
加个标识。。。【没做过】
帮你顶 下
jason176374 2010-10-16
  • 打赏
  • 举报
回复
UPUPUP

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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