vc中串口怎样根据指令返回结果连续发送指令

funbull 2013-09-09 10:21:33
本人现使用CSerialPort编写了一个上位机程序,通过下位控制器控制被控对象。但被控对象的动作需要一连串指令,才能实现最终的动作,因此希望按下功能按钮,连续发送多条指令,但需要根据每条指令的返回结果,判断指令是否正确执行,进而决定是否继续发送。如果连续发送,经常有指令没有正确的下载到控制器上去,如果中间加入Messagebox函数就可以,但显然这样是不行的。

现在被卡在这里了。

有人说使用消息模式,这个我不太懂,还请各位同学指教。具体过程是怎样的?

十分着急,感谢!
...全文
646 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
91program 2013-09-25
  • 打赏
  • 举报
回复
引用 2 楼 xiaohuh421 的回复:
发送一个包, 等待确认返回再发送, 如果超时, 重发当前包, 在一个循环中就可以搞定撒.
这个应该是比较好好的方法
funbull 2013-09-24
  • 打赏
  • 举报
回复
谢谢各位,目前问题解决了,连续发送多条设置指令是可以的,中间用换行符隔开。 最终运动的命令稍后发送。 其实问题是绕过去的,只是时间紧,有空再深入探究一下。
xiaohuh421 2013-09-10
  • 打赏
  • 举报
回复
发送一个包, 等待确认返回再发送, 如果超时, 重发当前包, 在一个循环中就可以搞定撒.
hdg3707 2013-09-10
  • 打赏
  • 举报
回复
你是怎么接收下位机数据的,是查询方式还是消息或事件方式,就是象中断那样,一来数据主直接执行接收函数(我没用过这个串口类),如果是象中断方式接收下位机,那你就试试在接收函数里执行发送(发送内容根据返回的结果改变成你实际要发送的);如果是查询方式(就是不断的查询是否有接收数据),就建立一个线程进行查询接收并发送
zhangyihu321 2013-09-10
  • 打赏
  • 举报
回复
这个需要制订传输协议的。。。

15,471

社区成员

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

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