C++ Linux-如何设置连接设备的自定义波特率

C++ Linux-如何设置连接设备的自定义波特率,c++,linux,qt,baud-rate,C++,Linux,Qt,Baud Rate,我正在尝试将连接设备的自定义波特率设置为10400。我使用Qt Creator IDE与设备交互。但是,通过几种方法,我无法将波特率从9600更改为默认波特率 我尝试了QSerialPort::setBaudRate(),但由于不支持的除数而失败。我已经尝试了stty-F/dev/ttyUSB0 10400,但是它作为无效参数返回 我正在尝试使用freediagAPI,以便现在将波特率设置为10400。但是,由于提供的文档很差,我不确定如何设置波特率。该命令是IB 10,但是我不知道在哪里执行该

我正在尝试将连接设备的自定义波特率设置为10400。我使用Qt Creator IDE与设备交互。但是,通过几种方法,我无法将波特率从9600更改为默认波特率

我尝试了
QSerialPort::setBaudRate()
,但由于不支持的除数而失败。我已经尝试了
stty-F/dev/ttyUSB0 10400
,但是它作为无效参数返回

我正在尝试使用
freediag
API,以便现在将波特率设置为10400。但是,由于提供的文档很差,我不确定如何设置波特率。该命令是IB 10,但是我不知道在哪里执行该命令(可能是在错误的目录中执行该命令?)


如果除了我正在尝试的解决方案之外还有其他解决方案,请向我解释,因为我已经没有选择了。

我假设您的设备是通过USB虚拟COM端口连接的。在此应用程序中,
QSerialPort
是USB之上的抽象层,因此尝试通过
stty
直接设置USB波特率将不起作用(如果可能的话-USB是一个定义非常严格的协议)

您想要设置的是
QSerialPort
对象本身的波特率,正如您试图设置的那样,但10400不是标准波特率。设备使用该波特率的可能性很小-请尝试使用值为14400的
QSerialPort::setBaudRate()


您可能应该编辑您的文章,并提供有关设置的详细信息。设备的性质是什么?它是否使用RS232、RS485或其他串行协议?您是否有示例代码来验证您与它的通信是否正确,以及正确通信后(在硬件或软件方面)会出现什么结果?

作为参考,标准波特率包括110、300、600、1200、2400、4800、9600、14400、19200、38400、57600、115200、128000和256000位/秒