更改树莓派3上串口的波特率

问题描述 投票:0回答:2

我在树莓派 3 上安装了 lineage os 14 我用 UART 端口连接了 GPS 模块,但是 GPS 的波特率为 9600,但 /dev/ttyS0 的波特率为 115200 我想更改 ttyS0 的波特率,以便读取GPS数据 我尝试了 stty 命令

stty -F /dev/ttyS0 9600

但是,当我使用此命令再次检查时,这不会改变波特率

stty -F /dev/ttyS0
速度值为115200。 我怎样才能改变/dev/ttyS0的波特率我还找到了一些使用串行命令的解决方案
serial /dev/ttyS0 9600
但是它在adb shell上不存在。任何帮助将不胜感激

android gps raspberry-pi3 uart gpio
2个回答
2
投票

您需要修改

/boot/config.txt
文件并添加以下条目以启用串行线并指定波特率:

console=ttyAMA0,9600

这对我有用。


0
投票

请注意,在涉及 uart 的情况下,Pi 3 和 4 与其他 Pi(0、1、2)之间存在硬件差异(参考文档)。

RPi 3 使用

UART0
作为其辅助/蓝牙 uart,并使用 miniUART 作为其 uart。 主要/次要指定与 UART 的固定位置有关; primary 表示它固定在 GPIO 14 和 GPIO 15 上,secondary 表示它固定在 WiFi/BT 芯片旁边。

所以我怀疑OP连接到GPIO 14和15(即RPi 3上的

miniUART
)。虽然命令 (
stty -F /dev/ttyS0 9600
) 确实设置了
miniUART
上的波特率,但此设置基于可变 VPU 时钟。 换句话说,使用
miniUART
需要将RPi配置为使用固定的VPU核心时钟频率,可以使用
/boot/config.txt
enable_uart=1
中设置。 (另请注意,给定的配置设置适用于
bookworm
,与
bullseye
不同(有关详细信息,请参阅
/boot/overlays/README
)。)

是的 - 这很令人困惑!

© www.soinside.com 2019 - 2024. All rights reserved.