raspberry pi uart波特率锁定在9600

时间:2014-09-04 08:28:49

标签: c++ c raspberry-pi raspbian termios

我一直在使用带有usb到rs232转换器的raspberry pi,但现在我必须使用Raspberry Pi的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

我已修改,其他设备没有问题。

1 个答案:

答案 0 :(得分:1)

在这个帖子中看不到OP的答案,所以因为我花了很多时间寻找它并且为了公众所知,这里有如何更改默认的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