qt 串口读不到数据会是什么原因呢
构造函数:
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 串口可以连接开发板
先用别人写都现成都串口调试助手实验下能发不,能发说明你写都代码有问题,不能发说明硬件线路有问题。
然后bool x = myCom->open(QIODevice::ReadWrite);
看串口打开没有。
看波特率是否一致。
对,你都代码好像有点问题:
建议把参数都设置完以后再打开串口:
把
myCom->open(QIODevice::ReadWrite);
放在后面。