树莓派4B 六个串口的开启与使用

树莓派4B 六个串口的开启与使用

@(树莓派学习笔记)

串口介绍

树莓派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

在这里插入图片描述

mini UART 和 PL011的区别

在这里插入图片描述

树莓派多串口启用

展示所有串口
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

各串口与GPIO的对应关系

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无法使用,原因和解决办法见我的另一篇博客

  • 5
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值