树莓派4b 串口配置

日前需要使用树莓派多个串口,在网上查询资料得知,树莓派4b除了UART0(PL011)和UART1(mini UART)还新增了四个PL011串口,为预防忘记相关知识和易于寻找,特此去整理一下树莓派4b的串口配置笔记。

串口查看命令:
展示所有串口 --> dtoverlay -a | grep uart
查看特定串口信息 --> dtoverlay -h uart0

串口开启步骤
编辑config.txt:--> sudo vim /boot/config.txt
文件末尾添加:--> dtoverlay=uartX(X表示串口号,比如uart2)
重启树莓派:--> sudo reboot
查看是否生效:--> ls /dev/ttyAMA*(树莓派系统原先便开启了UART0和UART1,故ttyAMA0早已存在,新增串口后应该会显示ttyAMA1,这个数字编号和config文件中串口开启顺序有关)

树莓派4b各UART引脚如下:
UART0:
TXD0-->GPIO14
RXD0-->GPIO15
UART2:
TXD2-->GPIO0
RXD2-->GPIO1
UART3:
TXD3-->GPIO4
RXD3-->GPIO5
UART4:
TXD4-->GPIO8
RXD4-->GPIO9
UART5:
TXD5-->GPIO12
RXD5-->GPIO13

串口的使用(python3 UART的TX接RX):
导入serial模块:--> import serial
串口配置:--> ser = serial.Serial(port="/dev/ttyAMA1", baudrate=9600)
清空串口接收缓冲区:--> ser.flushInput()
获取字符串的UTF-8编码格式并从串口以bytes形式发送:--> ser.write("hello world".encode("UTF-8"))
获取接收缓冲区字符:--> recv = ser.inWaiting()
显示接收缓冲区字符数量:--> print(recv)
读取接收缓冲区全部数据:--> ser.read(recv)
读取接收缓冲区数据,以\n结束:--> ser.readline(recv)


参考:
https://blog.csdn.net/weixin_40796925/article/details/107907991

 

posted on 2021-08-18 16:34  锦笙  阅读(2266)  评论(0编辑  收藏  举报

导航