• 6078阅读
  • 6回复

[提问]Qt 串口通信 问题 [复制链接]

上一主题 下一主题
离线cc7829290
 

只看楼主 倒序阅读 楼主  发表于: 2014-05-29
有个需要使用Qt与下位机串口通信
需要连续执行不同的命令,就是向下发送一条串口命令,然后收到返回的命令,在发送下一个命令,
因为下位机执行需要时间,而且执行的时间不同,不能立即返回命令,
这样要如何设计~~
离线beyondhcy

只看该作者 1楼 发表于: 2014-05-29
只有等下面返回之后再发第二条了
离线cc7829290

只看该作者 2楼 发表于: 2014-05-29
回 beyondhcy 的帖子
beyondhcy:只有等下面返回之后再发第二条了 (2014-05-29 14:16) 

对只能等下面返回后才执行命令的
我有个思路不知道对不:
先设置一个定时器,每隔200ms发送一次命令
如果收到返回之后发送下一条命令,没收到则等待下一个200ms看是否接受到返回命令了.
这样是否可以
如果用多线程的话应该怎么用~~
离线feixiangxtu

只看该作者 3楼 发表于: 2014-05-29
同步与异步通讯
离线beyondhcy

只看该作者 4楼 发表于: 2014-05-29
其实没必要用线程,你用一个标志就行了,发送的时候标志置位,接收的时候标志清零,你在定时器发送的时候,检测是否标志已经被清零,如果清除了,就发下一条就行了嘛
离线cc7829290

只看该作者 5楼 发表于: 2014-05-29
回 beyondhcy 的帖子
beyondhcy:其实没必要用线程,你用一个标志就行了,发送的时候标志置位,接收的时候标志清零,你在定时器发送的时候,检测是否标志已经被清零,如果清除了,就发下一条就行了嘛 (2014-05-29 15:09) 

好谢谢~~这种方式我已经实现了~~
我就想看看还有什么更好的方法的呢~
离线dbzhang800

只看该作者 6楼 发表于: 2014-05-29
另一种方法就是不用定时器,什么时候收到回应数据就立即发送下一条数据
快速回复
限100 字节
 
上一个 下一个