412 字
2 分钟
树莓派4B 配置UART
前言
配置方法来源:Raspberry Pi Documentation
树莓派4B
基本信息
输入如下指令,查看树莓派4B具有的所有引脚:
dtoverlay -a | grep uart
输入如下指令,查看特定串口的信息:
dtoverlay -h uart0
详细串口信息参考下表:
name | type | txd | rxd | Linux device |
---|---|---|---|---|
UART0 | PL011 | GPIO 14 | GPIO 15 | /dev/ttyAMA0 |
UART1 | mini UART | GPIO 14 | GPIO 15 | /dev/ttyS0 |
UART2 | PL011 | GPIO 0 | GPIO 1 | /dev/ttyAMA1 |
UART3 | PL011 | GPIO 4 | GPIO 5 | /dev/ttyAMA2 |
UART4 | PL011 | GPIO 8 | GPIO 9 | /dev/ttyAMA3 |
UART5 | PL011 | GPIO 12 | GPIO 13 | /dev/ttyAMA4 |
启用 UART2~5
输入如下指令,打开配置文件:
vim /boot/config.txt
在文件中增加如下内容:
dtoverlay=uart2
:wq
保存后,重启树莓派。
输入如下指令,查看 UART2 的情况:
/dev/ttyAMA*
启用 UART0
默认情况下,UART 被分配给 Linux Console。如果需要将 UART 使用到其他用途,需要重新配置操作系统:
- 输入指令
sudo raspi-config
,启动 raspi-config: - 选择 3 - Interface Options
- 选择 I6 - Serial Port
- 选择 ‘No’,Would you like a login shell to be accessible over serial?
- 选择 ‘Yes’,Would you like the serial port hardware to be enabled?
保存后,重启树莓派。
由于在树莓派3B后,官方将 PL011 分配给了蓝牙模块,所以只能在 保留蓝牙,启用 Mini UART 和 禁用蓝牙,启用 PL011 中,两者选其一。
方法1:保留蓝牙,启用 Mini UART
在 /boot/config.txt 中增加如下内容:
enable_uart=0
保存后,重启树莓派。
方法2:禁用蓝牙,启用 PL011
在 /boot/config.txt 中增加如下内容:
enable_uart=1dtoverlay=disable-bt
保存后,重启树莓派。
UART 测试
import serialuart2 = serial.Serial(port="/dev/ttyAMA0", baudrate=9600)uart2.write("Hello World".encode("utf-8"))uart2.read(11)
PL011 和 Mini UART 的区别
Mini UART 没有流量控制,在高波特率下容易丢失数据。
与 PL011 相比,Mini UART 具有以下缺陷:
- 无中断检测
- 无帧错误检测
- 无奇偶校验位
- 无接收超时中断
- 无 DCD、DSR、DTR 或 RI 信号