赞
踩
相比树莓派零、1、2 以及 3 的双串口 UART0(PL011)和 UART1(mini UART),树莓派 4B 中新增了 4 个 PL011 串口共计有 6 个 UART。
6个UART,其中5个是硬件UART。可以使用这5个硬件UART稳定地与外部的设备进行通讯。
执行命令
sudo gedit /boot/config.txt
在config.txt文件的最下方加入4行
- dtoverlay=uart2
- dtoverlay=uart3
- dtoverlay=uart4
- dtoverlay=uart5
然后"ctrl+s"保存文件, 执行sudo reboot重启树莓派,使修改生效。
可以看到,有5个硬件UART。
各个UART与GPIO的对应关系:
- (BCM)GPIO14 = TXD0 -> ttyAMA0
- (BCM)GPIO0 = TXD2 -> ttyAMA1
- (BCM)GPIO4 = TXD3 -> ttyAMA2
- (BCM)GPIO8 = TXD4 -> ttyAMA3
- (BCM)GPIO12 = TXD5 -> ttyAMA4
-
- (BCM)GPIO15 = RXD0 -> ttyAMA0
- (BCM)GPIO1 = RXD2 -> ttyAMA1
- (BCM)GPIO5 = RXD3 -> ttyAMA2
- (BCM)GPIO9 = RXD4 -> ttyAMA3
- (BCM)GPIO13 = RXD5 -> ttyAMA4
-
- # -*- coding: utf-8 -*
- #! /usr/bin/env python
- import serial
- import time
-
- ser = serial.Serial('/dev/ttyAMA0', 115200) # 设置端口和波特率
- if ser.isOpen == False: # 检查串口是否打开
- ser.open() # 打开串口
- ser.write(b"Raspberry pi is ready")
- try:
- while True:
- size = ser.inWaiting() # 获得缓冲区字符
- if size != 0:
- response = ser.read(size) # 读取内容并显示
- print(response)
- ser.flushInput() # 清空接收缓存区
- time.sleep(0.5) # 软件延时
- except KeyboardInterrupt:
- ser.close()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。