linux - Qt - 设置自定义波特率

标签 linux qt serial-port bitrate

我正在尝试使用 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/

相关文章:

c# - 字节数组未初始化为正确的大小?

c++ - mysql连接器的使用方法

linux - 启动/停止或重启后无法访问 (ssh) 从 AMI 启动的 EC2 实例

c++ - 如何在 Qt 中制作工作音量 slider ?

ios - MacOS:以编程方式查找串口?

python3 发送串行数据到 Nextion Display

linux - 尝试使用 trap 跳出 shell 函数

linux - 计算出现次数分组依据

qt - 将 Qt GUI 嵌入到现有的 OpenGL 程序中

c++ - QAction 快捷方式并不总是有效