2014-09-04 124 views
0

我一直在使用树莓派与usb rs232转换器,但现在我不得不使用树莓派的UART引脚,但我有这样一个愚蠢的问题。树莓pi uart波特率锁定在9600

我通过在C termios.h库(http://en.wikibooks.org/wiki/Serial_Programming/termios)和它的作品非常好,转换器,但是当我使用的UART引脚,而我设置波特率

cfsetospeed(&tio,B115200);   // 115200 baud 
cfsetispeed(&tio,B115200);   // 115200 baud 

波特率仍然工作在9600有没有其他的设置,我需要处理termios库?如果不是,我该怎么做才能改变波特率?

另外我已经试过波特率4800,它仍然与9600时,我使用UART,但与USB到rs232转换器没有porblem。

我使用的库

https://github.com/irukeru/TermiosSerialCom

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

+0

你看过类似问题的答案吗? - http://stackoverflow.com/questions/4968529/how-to-set-baud-rate-to-307200-on-linux似乎能够将波特率设置为更高的速率取决于硬件/系统。 – 2014-09-04 08:32:24

+0

而您正在设置正确设备的属性?请说明如何获取和设置属性,以及如何打开设备。 – 2014-09-04 08:33:21

+1

您似乎没有检查'cfsetospeed' /'cfsetispeed'返回的状态? – 2014-09-04 08:36:10

回答

0

在这个线程中没有看到OP的答案,所以我花了很多时间寻找它并为了公众的知识,下面是如何更改Raspberry Pi上默认的UART波特率: Simply编辑文件/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