文章目录
- 首先已经确保串口转USB驱动已经装好,
可能是用户没有权限,到/dev目录中 使用chmod,赋予权限
- 串口没有插东西(我遇到的问题,我以为可以检查全部的串口)
- 可能是打开QT的过程中影响了波特率,因此一开始设置了波特路后执行open后再设置一边波特率,如下
port = new QSerialPort(this);
buff = new QByteArray;
port->setPortName("/dev/ttyUSB4");
connect(port,&QSerialPort::readyRead,this,&Serial::ReadData);
port->setBaudRate(QSerialPort::Baud115200); //波特率
port->setDataBits(QSerialPort::Data8); //数据位
port->setParity(QSerialPort::NoParity); //无奇偶校验
port->setStopBits(QSerialPort::OneStop); //无停止位
port->setFlowControl(QSerialPort::NoFlowControl); //无控制
bool flag=port->open(QIODevice::ReadWrite); //读写打开
if(flag)
{
qDebug()<<"port->open(QIODevice::ReadWrite)";
qDebug("serial is open");
port->setBaudRate(QSerialPort::Baud115200); //波特率
port->setDataBits(QSerialPort::Data8); //数据位
port->setParity(QSerialPort::NoParity); //无奇偶校验
port->setStopBits(QSerialPort::OneStop); //无停止位
port->setFlowControl(QSerialPort::NoFlowControl); //无控制
}
else
{
qDebug("serial ins not open");
}