树莓派4的串口启用设置
树莓派4共有6个串口,1个是mini UART(UART1)及其他5个PL011 UARTs (UART0, UART2, UART3, UART4 &UART5),其中mini UART没有单独的时钟芯片,受CPU运行情况的影响,会有不稳定现象,建议使用其他串口。
1、树莓派的串口管脚定义
UART0 GPIO14 GPIO15 这个是硬件串口,默认当成串口控制台使用
UART1:mini UART 不建议使用
其他可以使用的就是UART2,UART3,UART4,UART5了
树莓派4的GPIO部分管脚定义如下图
引用树莓派实验室的一张图,根据BCMP编码(即GPIO)找到对应的物理管脚
然后就可以用杜邦线将物理管脚引出去做串口对接了。
2、串口设置
首先查看系统中所有的串口
dtoverlay -a | grep uart
3、配置开启串口2~5
编辑配置文件
sudo vim /boot/firmware/config.txt
在文件末尾添加
dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5
保存退出,重启生效
4、查看设置
ls /dev/ttyAMA*
UART 串口与 GPIO(BCM编码) 对应关系
UART0: GPIO14 = TXD0 -> ttyAMA0 GPIO15 = RXD0 -> ttyAMA0
UART2: GPIO0 = TXD2 -> ttyAMA1 GPIO1 = RXD2 -> ttyAMA1
UART3: GPIO4 = TXD3 -> ttyAMA2 GPIO5 = RXD3 -> ttyAMA2
UART4: GPIO8 = TXD4 -> ttyAMA3 GPIO9 = RXD4 -> ttyAMA3
UART5: GPIO12 = TXD5 -> ttyAMA4 GPIO13 = RXD5 -> ttyAMA4
5、测试
首先拿UART2进行环回测试:
rpi@ubuntu:~$ python3
Python 3.9.7 (default, Sep 10 2021, 14:59:43)
[GCC 11.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>> uart2 = serial.Serial(port="/dev/ttyAMA1", baudrate=9600)
>>> uart2.write("Hello World".encode("gbk"))
11
>>> uart2.read(11)
b'Hello World'
>>>
还可以把UART2和UART3串接测试,将 TXD2 连接 RXD3 即 GPIO0 与 GPIO5 相连;将 TXD3 与 RXD2 连接即 GPIO4 与 GPIO1 相连。
GPIO0 = TXD2 -> ttyAMA1
GPIO4 = TXD3 -> ttyAMA2GPIO1 = RXD2 -> ttyAMA1
GPIO5 = RXD3 -> ttyAMA2
打开一个python的命令行窗口,输入下面语句测试:
import serial
uart2 = serial.Serial(port="/dev/ttyAMA1", baudrate=115200)
uart3 = serial.Serial(port="/dev/ttyAMA2", baudrate=115200)
uart2.write("send Msg from UART2...".encode("gbk"))uart3.read(22)uart3.write("send Msg from UART3...".encode("gbk"))uart2.read(22)
成功之后,将UART2和UART3之间的线断开,再运行以上命令,已经无法接受发送数据。
树莓派4的串口启用设置相关推荐
- 树莓派3B 初始化 必须的设置
树莓派3B 初始化 必须的设置 1.1扩展系统空间 因为内存卡还有很多空间没有分配,第一步自然是把这些空间分配了 在SSH控制台输入: sudo raspi-config 第一步: 第二步: 然后 ...
- 树莓派3B+:串口通讯
树莓派3B+:串口通讯 背景 一.树莓派串口通讯是什么? 二.使用步骤 1.树莓派串口知识 2.查看当前的串口使用及映射关系 3.释放串口ttyAMA0 3.代码控制串口,验证是否可用 三.minic ...
- 电脑与树莓派与stm32f4串口通信
电脑与树莓派与stm32串口通信 stm32设置 树莓派代码 stm32设置 // 核心代码,不能运行 void M1_PID(float top); void upmada(void); typed ...
- 树莓派与pixhawk串口通信
一.Pixhawk部分 1.读取数据测试 步骤: 在Firmware/src/modules中添加一个新的文件夹,命名为rw_uart 在rw_uart文件夹中创建CMakeLists.txt文件,并 ...
- ft4232树莓派linux扩展串口,树莓派Linux串口编程实现自发自收
串口是计算机上一种非常通用设备通信的协议,常用PC机上包含的是RS232规格的串口,具有连接线少,通讯简单,得到广泛的使用. Linux对所有设备的访问是通过设备文件来进行的,串口也是这样,为了访问串 ...
- linux busybox 操作串口,busybox分析--10.串口的设置
1. 8N1 8:表明8位数据位 N: 表明NO,既无奇偶校验 1:表明一位停止位 2. 代码中关于串口的设置 #include #include #include #include #include ...
- 在Ubuntu22.04条件下,如何打开树莓派4B的串口
打开串口 树莓派4B一共有6个串口,之前的版本只有2个串口.这6个串口中,有5个时硬件串口,还有个mini串口,这5个硬件串口在我们需要使用外设时.但是,默认情况下,5个默认串口只有1个被启用了,剩下 ...
- 【树莓派4B】串口配置
[树莓派4B]串口配置 树莓派环境 串口信息 硬件串口(/dev/ttyAMA0) mini串口(/dev/ttyS0) 串口配置 打开serial0 调换serial0和serial1的映射 测试 ...
- 树莓派(raspberry)启用root账户
树莓派(raspberry)启用root账户 今天玩树莓派,需要安装些东西,老是sudo感觉不方便于是想直接用root.咦···?默认不是空密码?试下密码raspberry.还不对.那是神马?? 论他 ...
最新文章
- [转]FPGA的GTP信号PCB布线要点
- rabbitmq3.5.1 原理和集群安装
- javascript 中的call和apply
- OpenCASCADE:Foundation Classes之异常
- php分页实例下载,PHP文件操作实例总结【文件上传、下载、分页】
- 北京修复宕机故障之旅
- python程序分析,用Python编写分析Python程序性能的工具的教程
- matlab d=sqrt((i-m)^2+(j-n)^2);,硕士研究生《数字图像处理》作业
- 定义“移动互联网”的三篇文章
- samba配置过程(附网络凭据的解决方法)
- 为什么说java是具有跨平台性
- 【小米小爱老师4G网络尊享版使用总结】界面|设置|安装|输入_摘要频道_什么值得买...
- 软件测试中80/20原则
- 品牌和爱情,原理是一样的
- java+es+nested_Elasticsearch中的关联查询。Nested类型介绍及查询原理。。
- VBA---打开excel
- 吴恩达视频-第一门课第2周2.7、2.8节-计算图与使用计算图求导数
- 找到可靠的游戏外包开发公司
- 图形学基础笔记II:多边形光栅化算法和显卡三角形光栅算法
- ⚡王者农药皮肤图片获取!⚡