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

qt QextSerialPort 串口

6
回复
8973
查看
打印 上一主题 下一主题
[复制链接]
累计签到:1 天
连续签到:1 天
楼主#
来源: 2015-10-31 16:36:01 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1Qter豆
qt4.8使用QextSerialPort时,采用Poling查询模式,读取串口数据不正确,如串口发送数据字符abc,程序使用readAll()只能读到一个字节
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

给你几个建议 1.你先打印下,,MyCom->byteAvailable得值,看看有多少有效数据 2.试下,MyCom的readyread()信号,先停了定时器(不过貌似这个信号可能会在某些机器上无效) 3.你用的是第三方库吧,我印象中是用win_qextserialport创建对象啊....太久没写,记不清了
收藏
收藏0
分享
分享
分享
淘帖0
支持
支持0
反对
反对0
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
沙发#
2015-10-31 16:36:02 只看该作者
给你几个建议
1.你先打印下,,MyCom->byteAvailable得值,看看有多少有效数据
2.试下,MyCom的readyread()信号,先停了定时器(不过貌似这个信号可能会在某些机器上无效)
3.你用的是第三方库吧,我印象中是用win_qextserialport创建对象啊....太久没写,记不清了
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
板凳#
2015-10-31 18:35:57 只看该作者
qq1043068972 发表于 2015-10-31 17:34
给你几个建议
1.你先打印下,,MyCom->byteAvailable得值,看看有多少有效数据
2.试下,MyCom的readyread()信号 ...

我改用Win_QextSerialPort时,当串口发送字符串“abc”时,bytesAvailabe()返回值为1,应该是3才对吧,这是怎么回事?

点评

你看看你的波特率啥的设置对了没?只要能收到数据就说明已经成功一大半了  详情 回复 发表于 2015-10-31 19:12
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
地板#
2015-10-31 19:12:58 只看该作者
查卫东 发表于 2015-10-31 18:35
我改用Win_QextSerialPort时,当串口发送字符串“abc”时,bytesAvailabe()返回值为1,应该是3才对吧,这 ...

你看看你的波特率啥的设置对了没?只要能收到数据就说明已经成功一大半了
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
5#
2015-10-31 19:43:02 只看该作者
qq1043068972 发表于 2015-10-31 19:12
你看看你的波特率啥的设置对了没?只要能收到数据就说明已经成功一大半了 ...

和发送数据的串口程序是一样的啊,但是问题还是一样,能接受但接受字节数目和内容都不对。
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
6#
2015-10-31 19:58:22 只看该作者
查卫东 发表于 2015-10-31 19:43
和发送数据的串口程序是一样的啊,但是问题还是一样,能接受但接受字节数目和内容都不对。 ...

谢谢你,程序正常了,但不知道问题是在哪里,还得自己找找

点评

恩,正常就好,我有一次跟你一样,,收是收到了,但是数据就是不对,找了一个多星期,才发现是 串口的公头坏了!!!  详情 回复 发表于 2015-11-1 16:33
回复

使用道具 举报

累计签到:615 天
连续签到:1 天
7#
2015-11-1 16:33:36 只看该作者
查卫东 发表于 2015-10-31 19:58
谢谢你,程序正常了,但不知道问题是在哪里,还得自己找找

恩,正常就好,我有一次跟你一样,,收是收到了,但是数据就是不对,找了一个多星期,才发现是  串口的公头坏了!!!
回复

使用道具 举报

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

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