【发布时间】:2016-07-11 19:36:22
【问题描述】:
我正在尝试使用 Qt 在 Linux 上为我的设备设置 10400 的自定义波特率。但是,当我运行应用程序时,控制台输出会不断报告
串口/dev/ttyUSB0的波特率设置为10403而不是10400:不支持除数2307.692383
我还将数据位设置为 8,奇偶校验设置为无奇偶校验,停止位设置为 1,这是非常标准的。
顺便说一下,这是我的代码:
serial -> setBaudRate(10400); // Set Baud Rate
serial -> setDataBits(QSerialPort::Data8);
serial -> setStopBits(QSerialPort::OneStop);
serial -> setParity(QSerialPort::NoParity);
但是,当我在 Windows 上运行该应用程序时,它运行良好。
我的设备无法连接除 10400 以外的任何其他波特率。应用程序能够编译和运行,但结果全是垃圾。我想知道是否有办法可以毫无问题地指定此波特率?
【问题讨论】:
-
那么,它在 linux 上不起作用,或者你只是对这个消息感到恼火?
-
@hyde 我的设备无法连接除 10400 以外的任何其他波特率。应用程序能够编译和运行,但结果全是垃圾。我想知道是否有办法可以毫无问题地指定此波特率?
-
这似乎是 Qt 中的一个错误,正如我在回答中所说,它已在 Qt 5.6 中修复。
标签: linux qt serial-port bitrate