我一直在使用带 usb 到 rs232 转换器的树莓派,但现在我必须使用树莓派的 UART 引脚,但我遇到了一个愚蠢的问题。
我在 C ( http://en.wikibooks.org/wiki/Serial_Programming/termios) 中使用 termios.h 库,它与转换器一起工作得很好,但是当我使用 UART 引脚时,我将波特率设置为
cfsetospeed(&tio,B115200); // 115200 baud
cfsetispeed(&tio,B115200); // 115200 baud
波特率在 9600 时仍然有效。是否有其他设置与 termios 库有关?如果不是,我应该怎么做才能更改波特率?
我也尝试过波特率 4800,当我使用 UART 时它仍然适用于 9600,但使用 usb 到 rs232 转换器没有问题。
我正在使用图书馆
https://github.com/irukeru/TermiosSerialCom
我修改过,其他设备没有问题。
最佳答案
在此线程中看不到 OP 的答案,因此由于我花了很多时间寻找它并且为了公开知识,以下是更改 Raspberry Pi 上默认 UART 波特率的方法:
只需编辑文件 /boot/config.txt
以添加以下行:
init_uart_baud=115200
这样做需要 root 权限,所以不要忘记以 sudo su
开始,然后是 nano/boot/config.txt
或者简单地使用 sudo nano/boot/config.txt
并在末尾添加特定行。
然后重启(sudo reboot
)。
更多/boot/config.txt配置参数,查看以下link .
关于c++ - 树莓派uart波特率锁定在9600,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25660708/