找回密码
 立即注册
收起左侧

请教关于串口通信的问题

1
回复
3659
查看
[复制链接]
累计签到:27 天
连续签到:1 天
来源: 2015-10-23 18:37:03 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
问题1:
按键“连接”被按下后,触发对应的槽,发送字符串"北京欢迎你",设备收到字符串后回复"谢谢"。
由于主机和设备之间的串口是单线的,也就是tx和rx连接在一起的,主机在发送"北京欢迎你"的同时也会收到这个字符串,怎么才能干干净净的收到设备返回的"谢谢"呢?
我的想法是,串口先以WriteOnly打开,发送完"北京欢迎你"后,再改为ReadOnly以接收"谢谢"。
问题是:
A:怎么把串口由WriteOnly改为ReadOnly?
B:由于设备收到"北京欢迎你"后会立即返回"谢谢",主机会不会因错过这个"谢谢"而导致握手失败?

问题2:
主机空闲时,以1秒的间隔时间循环发送"我还在这里呢",设备收到后回复"嗯"。
问题是:
主机发送"我还在这里呢"时,被其他按键的槽打断怎么办,比如发送"我还在"和"这里呢"之间有按键按下(有字符发送给设备)怎么办?请问怎么避免这种情况发生?

谢谢!
回复

使用道具 举报

累计签到:27 天
连续签到:1 天
2015-10-23 20:44:46 显示全部楼层
mySerialport->setOpenMode(QIODevice::ReadOnly);
报错:QIODevice::setOpenMode(QIODevice::OpenMode) is protected
求解...
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了