c++ - 树莓派uart波特率锁定在9600

标签 c++ c raspberry-pi raspbian termios

我一直在使用带 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/

相关文章:

ffmpeg - 如何使用 gstreamer (RTMP) 流式传输连接到树莓派的 USB 网络摄像头

java - 如何处理从 Azure IoT 中心接收到的数据

c++ - 在 Windows 7 下使用 VC++ 进行 LPT 错误 : "External component has thrown an exception."

c - C语言中如何打印子程序的输出?

c - C图形:如何在屏幕上绘制x-y轴?

c - 套接字,accept() 函数,无效参数

Python flask-cors 导入错误 : No module named 'flask-cors' Raspberry pi

c++ - c++在对象实例化时如何分离声明和构造函数调用?

c++ - 导入 dll 函数的正确方法是什么?

c++ - 在 QT 对象类中声明一个 PCL 点云