我正在尝试使用 Qt 在 Linux 上为我的设备设置 10400 的自定义波特率。但是,当我运行该应用程序时,控制台输出不断报告
Baud rate of serial port /dev/ttyUSB0 is set to 10403 instead of 10400: divisor 2307.692383 unsupported
我还将数据位设置为 8,奇偶校验设置为无奇偶校验,停止位设置为 1,这是非常标准的。
顺便说一句,这是我的代码:
serial -> setBaudRate(10400); // Set Baud Rate
serial -> setDataBits(QSerialPort::Data8);
serial -> setStopBits(QSerialPort::OneStop);
serial -> setParity(QSerialPort::NoParity);
但是,当我在 Windows 上运行该应用程序时,它运行得非常好。
我的设备无法连接到除 10400 以外的任何其他波特率。应用程序能够编译和运行,但结果都是垃圾。我想知道是否有一种方法可以毫无问题地指定此波特率?
最佳答案
相关错误报告here .基本上这意味着,确切的波特率不可用,因为配置到硬件的实际东西是某个时钟频率的整数除数,并且请求的波特率没有精确的整数除数。警告消息对此进行了很好的描述。
没关系,波特率有一定的公差,但如果它确实导致问题(在错误下的讨论表明它可能......),错误报告中建议升级到 Qt 5.6 .
关于linux - Qt - 设置自定义波特率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38314828/