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

qt QextSerialPort 串口

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

最佳答案

查看完整内容

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

使用道具 举报

累计签到: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 天
2015-10-31 19:43:02 显示全部楼层
qq1043068972 发表于 2015-10-31 19:12
你看看你的波特率啥的设置对了没?只要能收到数据就说明已经成功一大半了 ...

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

使用道具 举报

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

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

点评

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

使用道具 举报

累计签到:615 天
连续签到:1 天
2015-11-1 16:33:36 显示全部楼层
查卫东 发表于 2015-10-31 19:58
谢谢你,程序正常了,但不知道问题是在哪里,还得自己找找

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

使用道具 举报

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

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