基本上我使用以下代码来设置串口的波特率:
struct termios options;
tcgetattr(fd, &options);
cfsetispeed(&options, B115200);
cfsetospeed(&options, B115200);
tcsetattr(fd, TCSANOW, &options);
这很好用。但是知道我必须与使用波特率 307,200 的设备通信。我该如何设置? cfsetispeed(&options, B307200);
不起作用,没有定义 B307200
。
我使用 MOXA Uport 1150(实际上是一个 USB 转串口转换器)和英特尔主板的标准串口进行了尝试。我不知道后者的确切类型,setserial 只是将其报告为 16550A。
原文由 cairol 发布,翻译遵循 CC BY-SA 4.0 许可协议
我使用
termios2
和ioctl()
命令完成了这项工作。之后,您应该能够查询端口设置并查看您的自定义波特率以及其他设置(可能使用
stty
命令)。