当前位置:   article > 正文

Raspberry 4B 串口_树莓派4b 有几个uart

树莓派4b 有几个uart

一. 前言

相比树莓派零、1、2 以及 3 的双串口 UART0(PL011)和 UART1(mini UART),树莓派 4B 中新增了 4 个 PL011 串口共计有 6 个 UART。

6个UART,其中5个是硬件UART。可以使用这5个硬件UART稳定地与外部的设备进行通讯。

二. 打开另外4路串口

 2.1 查看4B上所有的串口资源

2.2 查看某个串口的信息

 2.3 开启另外4路硬件UART

执行命令

sudo gedit /boot/config.txt

在config.txt文件的最下方加入4行

  1. dtoverlay=uart2
  2. dtoverlay=uart3
  3. dtoverlay=uart4
  4. dtoverlay=uart5

然后"ctrl+s"保存文件, 执行sudo reboot重启树莓派,使修改生效。

 2.4 查看配置是否生效

可以看到,有5个硬件UART。

各个UART与GPIO的对应关系: 

  1. (BCM)GPIO14 = TXD0 -> ttyAMA0
  2. (BCM)GPIO0 = TXD2 -> ttyAMA1
  3. (BCM)GPIO4 = TXD3 -> ttyAMA2
  4. (BCM)GPIO8 = TXD4 -> ttyAMA3
  5. (BCM)GPIO12 = TXD5 -> ttyAMA4
  6. (BCM)GPIO15 = RXD0 -> ttyAMA0
  7. (BCM)GPIO1 = RXD2 -> ttyAMA1
  8. (BCM)GPIO5 = RXD3 -> ttyAMA2
  9. (BCM)GPIO9 = RXD4 -> ttyAMA3
  10. (BCM)GPIO13 = RXD5 -> ttyAMA4

三. 示例程序

  1. # -*- coding: utf-8 -*
  2. #! /usr/bin/env python
  3. import serial
  4. import time
  5. ser = serial.Serial('/dev/ttyAMA0', 115200) # 设置端口和波特率
  6. if ser.isOpen == False: # 检查串口是否打开
  7. ser.open() # 打开串口
  8. ser.write(b"Raspberry pi is ready")
  9. try:
  10. while True:
  11. size = ser.inWaiting() # 获得缓冲区字符
  12. if size != 0:
  13. response = ser.read(size) # 读取内容并显示
  14. print(response)
  15. ser.flushInput() # 清空接收缓存区
  16. time.sleep(0.5) # 软件延时
  17. except KeyboardInterrupt:
  18. ser.close()

四. 参考链接

4.1 树莓派 | 串口02 - 树莓派4B上打开另外4路硬件串口_ttyama-CSDN博客

4.2 Raspberry 4B 串口通信_树莓派4b python串口通信-CSDN博客

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号