赞
踩
@(树莓派学习笔记)
树莓派4B有六个串口(一个 mini UART和五个 PL011),默认情况下UART2~UART5禁用
Raspberry Pi OS 上一般有一个主串口(primary UART)和一个辅助串口(secondary UART)
通常主串口存在于GPIO连接器上但辅串口不存在
设备名称映射:
UART0: /dev/ttyAMA0
mini UART(UART1): /dev/ttyS0
UART2: /dev/ttyAMA1
UART3: /dev/ttyAMA2
UART4: /dev/ttyAMA3
UART5: /dev/ttyAMA4
primary UART: /dev/serial0
secondary UART: /dev/serial1
展示所有串口
dtoverlay -a | grep uart
查看特定串口信息
dtoverlay -h uart2
查看主/辅串口映射
ls /dev -al
默认情况下,主 UART 分配给 Linux 控制台。如果希望将主UART用于通信,则必须重新配置Raspberry Pi OS
重启代码
sudo reboot
交换主/辅串口映射关系并应用设备树覆盖显式启用所有串口
sudo nano /boot/config.txt
找到enable_uart
修改为enable_uart=1
在文件结尾添加
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5
Ctrl+O保存文件,Ctrl+X退出
重启后检查是否生效
ls /dev/ttyAMA*
结果应该显示如下
/dev/ttyAMA0 /dev/ttyAMA1 /dev/ttyAMA2 /dev/ttyAMA3 /dev/ttyAMA4
UART0 (ttyAMA0):
GPIO14 = TXD0
GPIO15 = RXD0
UART02(ttyAMA1):
GPIO0 = TXD2
GPIO1 = RXD02
UART3 (ttyAMA2):
GPIO4 = TXD3
GPIO5 = RXD3
UART4 (ttyAMA3):
GPIO8 = TXD4
GPIO9 = RXD4
UART5 (ttyAMA4):
GPIO12 = TXD5
GPIO13 = RXD5
注意:GPIO引脚的编号不是按数字顺序排列的。GPIO 引脚 0 和 1 存在于电路板上(物理引脚 27 和 28),但保留供高级使用
经测试,ttyAMA0、ttyAMA1、ttyAMA2、ttyAMA4能正常使用
ttyAMA3无法使用,原因和解决办法见我的另一篇博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。