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

怎么读取串口缓冲区的数据

4
回复
7791
查看
[复制链接]
累计签到:2 天
连续签到:1 天
来源: 2013-8-20 16:58:44 显示全部楼层 |阅读模式
1Qter豆
用这个函数把数据发送给串口,然后串口就应该有返回值了。
void MainWindow::on_sendMsgBtn_clicked(){    myCom->write(ui->sendMsgLineEdit->text().toAscii());}
然后我用这个函数读取缓冲区的数据把它显示在textBrowser文本框里面
但是结果是文本框里面什么内容都没有,这是怎么回事啊,各路大神求指教啊。
void MainWindow::readMyCom(){QByteArray temp = myCom->readAll();ui->textBrowser->insertPlainText(temp);}

我这么用的时候能把sendMsgLineEdit里面的数据在textBrowser里面显示出来void MainWindow::on_sendMsgBtn_clicked(){    myCom->write(ui->sendMsgLineEdit->text().toAscii());    ui->textBrowser->insertPlainText(ui->sendMsgLineEdit->text());}

最佳答案

查看完整内容

两个函数是用来发送和接收的,至于为什么没有返回数据,这个需要调试才能找出原因,也可能是下位机程序的原因。 可以先使用其他串口调试助手进行测试,然后使用QCom进行测试,都没有问题后,再调试自己的程序,找出原因。
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-8-20 16:58:45 显示全部楼层
两个函数是用来发送和接收的,至于为什么没有返回数据,这个需要调试才能找出原因,也可能是下位机程序的原因。

可以先使用其他串口调试助手进行测试,然后使用QCom进行测试,都没有问题后,再调试自己的程序,找出原因。
回复

使用道具 举报

累计签到:2 天
连续签到:1 天
2013-8-21 09:46:28 显示全部楼层
yafeilinux 发表于 2013-8-20 18:47
两个函数是用来发送和接收的,至于为什么没有返回数据,这个需要调试才能找出原因,也可能是下位机程序的原 ...

用其他的调试工具能够测出数据,但是自己写的程序读不出数据。 我的程序有没有问题啊?
回复

使用道具 举报

累计签到:87 天
连续签到:1 天
2013-8-21 17:21:58 显示全部楼层
貌似ui->textBrowser->insertPlainText(temp); 这个temp只能用QString

而你串口读的是QByteArray,转换下吧
回复

使用道具 举报

累计签到:1571 天
连续签到:1 天
2013-8-21 18:18:38 显示全部楼层
zyq__qt 发表于 2013-8-21 09:46
用其他的调试工具能够测出数据,但是自己写的程序读不出数据。 我的程序有没有问题啊? ...

QCom也可以读出数据吗,如果是,那么可以参考其源代码修改自己的程序。
回复

使用道具 举报

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

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