|
1Qter豆
本帖最后由 aya 于 2016-6-14 11:55 编辑
问题描述:
1.发送数据可以但是使用QT5接受不到串口数据,使用readMyCom()收到缓冲区的字节为0。
2.QObject::connect(&serial,SIGNAL(readyRead()),this,SLOT(readMyCom()));这个信号槽根本不会触发是不是因为第一个问题根本没有接受到数据啊。
部分代码如下:
void Dialog::readMyCom()
{
QByteArray temp = serial.readAll();
int a = serial.bytesAvailable();
qDebug("intensity:%d",a);
}
serial.setPortName("/dev/"+ PortName);
serial.setBaudRate(QSerialPort::Baud9600);
serial.setDataBits(QSerialPort::Data8);
serial.setStopBits(QSerialPort::TwoStop);
serial.setParity(QSerialPort::NoParity); //QObject::connect(&serial,SIGNAL(readyRead()),this,SLOT(readMyCom())); |
最佳答案
查看完整内容
1.你先确定信号槽函数能正常工作
2.如果信号和槽能确定工作,那
QByteArray temp = serial.readAll();
int a = serial.bytesAvailable();
这两句写倒了吧?都把数据读完了,还有“有效字节”吗?
|