qt 串口读不到数据会是什么原因呢?

wydsn 2013-01-08 02:50:01
构造函数:
myCom = new Posix_QextSerialPort("/dev/ttyS1",QextSerialBase::Polling);
myCom->open(QIODevice::ReadWrite); myCom->setBaudRate(BAUD4800);
myCom->setDataBits(DATA_8);
myCom->setParity(PAR_NONE);
myCom->setStopBits(STOP_1);
myCom->setFlowControl(FLOW_OFF);
myCom->setTimeout(10);
readTimer = new QTimer(this);
readTimer->start(10);
connect(readTimer,SIGNAL(timeout()),this,SLOT(readMyCom()));

定时器触发函数:
QByteArray temp = myCom->readAll();
qDebug()<<"read:"<<temp<<endl;

是点按钮发送的,用的是VM Ubuntu11.10 串口可以连接开发板
...全文
1189 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
dxsdcxy 2015-04-11
  • 打赏
  • 举报
回复
怎么搞定的麻烦说一下呀~亲。
hfo38j58gt3hj 2014-04-17
  • 打赏
  • 举报
回复
引用 4 楼 wydsn 的回复:
搞定了。。。。。
怎么搞定的麻烦说一下呀~亲。
woshinieao 2013-02-28
  • 打赏
  • 举报
回复
请问是怎么搞定的,我也遇到了这个问题。
wydsn 2013-01-10
  • 打赏
  • 举报
回复
搞定了。。。。。
wydsn 2013-01-09
  • 打赏
  • 举报
回复
引用 2 楼 wydsn 的回复:
引用 1 楼 haltwang 的回复:先用别人写都现成都串口调试助手实验下能发不,能发说明你写都代码有问题,不能发说明硬件线路有问题。 然后bool x = myCom->open(QIODevice::ReadWrite); 看串口打开没有。 看波特率是否一致。 对,你都代码好像有点问题: 建议把参数都设置完以后再打开串口: 把 myCom->open……
#ifndef WIDGET_H #define WIDGET_H #include <QWidget> #include <QTimer> #include "posix_qextserialport.h" #include <QtGui/QtGui> namespace Ui { class Widget; } class Widget : public QWidget { Q_OBJECT public: explicit Widget(QWidget *parent = 0); ~Widget(); private: Posix_QextSerialPort *myCom; QTimer *readTimer; private slots: void on_pushButton_clicked(); void readMyCom(); private: Ui::Widget *ui; }; #endif // WIDGET_H
wydsn 2013-01-09
  • 打赏
  • 举报
回复
引用 1 楼 haltwang 的回复:
先用别人写都现成都串口调试助手实验下能发不,能发说明你写都代码有问题,不能发说明硬件线路有问题。 然后bool x = myCom->open(QIODevice::ReadWrite); 看串口打开没有。 看波特率是否一致。 对,你都代码好像有点问题: 建议把参数都设置完以后再打开串口: 把 myCom->open(QIODevice::ReadWrit……
我用gtkterm可以正常连接开发板,应该不是硬件问题,我把打开串口放到后面了还是读不到数据,运行程序时,下面的框框里面有提示打开成功的,我觉得可能是环境的问题,能不能在你的电脑上跑一下我的代码?
haltwang 2013-01-08
  • 打赏
  • 举报
回复
先用别人写都现成都串口调试助手实验下能发不,能发说明你写都代码有问题,不能发说明硬件线路有问题。 然后bool x = myCom->open(QIODevice::ReadWrite); 看串口打开没有。 看波特率是否一致。 对,你都代码好像有点问题: 建议把参数都设置完以后再打开串口: 把 myCom->open(QIODevice::ReadWrite); 放在后面。

16,175

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧