树莓派4B多串口配置

news2024/11/25 15:46:33

0. 实验准备以及原理

0.1 实验准备

安装树莓派官方系统的树莓派 4B,有 python 环境,安装了 serial
杜邦线若干
屏幕或者可以使用 VNC 进入到树莓派的图形界面

0.2 原理

树莓派 4B 有 UART0(PL011)、UART1(mini UART)和 4 个 PL011 串口共计有 6 个 UART

1. 硬件串口配置

可以将硬件串口(例如 /dev/ttyAMA0)配置为普通的串口设备,以便与其他设备进行串口通信

确保树莓派的引脚上的串口功能没有被占用。默认情况下,树莓派的 GPIO 引脚会使用串口功能。可以通过编辑 /boot/config.txt 文件来禁用串口功能。在文件的末尾添加或修改以下行,保存文件后重启树莓派(可以使用vi来编辑此文件,vi 的使用可以查看这一篇文章):

enable_uart=1

在这里插入图片描述
在终端中运行以下命令可以确认驱动是否已经加载:

ls -l /dev/ttyAMA0

能看到下面的输出就代表驱动是正常的

在这里插入图片描述

默认情况下,树莓派会将 /dev/ttyAMA0 用作终端串口,而不是普通的串口设备。可以通过编辑 /boot/cmdline.txt 文件来禁用终端串口。找到以 console=serial0 开头的行,并将其修改为 console=tty1,如下图所示

在这里插入图片描述
确保你的用户被添加到 dialout 组中,以便具有串口访问权限。运行以下命令将当前用户添加到 dialout 组:

sudo usermod -a -G dialout $USER

在添加到 dialout 组后,需要注销并重新登录才能使更改生效,到这里硬件串口就配置完成了,不需要看其他的可以直接跳到最后一节进行验证

2. 其他串口配置

2.1 展示所有串口命令

输出下面的命令可以看到所有的串口

dtoverlay -a | grep uart

在这里插入图片描述

2.2 查看特定串口信息

使用下面的命令会展示串口的配置信息

dtoverlay -h uart3

在这里插入图片描述

2.3 配置开启串口 UART2-5

/boot/config.txt的末尾添加如下的代码,保存重启树莓派

dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5

在这里插入图片描述
查看是否生效

ls /dev/ttyAMA*

结果如下图
在这里插入图片描述
到这里就打开了所有的串口了

3. 验证结果

各 UART 串口与 GPIO 对应关系:

GPIO14 = TXD0 -> ttyAMA0
GPIO0  = TXD2 -> ttyAMA1
GPIO4  = TXD3 -> ttyAMA2
GPIO8  = TXD4 -> ttyAMA3
GPIO12 = TXD5 -> ttyAMA4

GPIO15 = RXD0 -> ttyAMA0
GPIO1  = RXD2 -> ttyAMA1
GPIO5  = RXD3 -> ttyAMA2
GPIO9  = RXD4 -> ttyAMA3
GPIO13 = RXD5 -> ttyAMA4

在这里插入图片描述
这里进行两个验证:UART2的自环测试,UART2和3的串口间通信

3.1 UART2的自环测试

杜邦线短接 GPIO4 和 GPIO5
编写下面的 python 程序

import serial

ser1 = serial.Serial(port='/dev/ttyAMA2',baudrate=115200)
ser1.write(b'Hello, World!\n')

data = ser1.readline()
print(data)

执行结果如下图
在这里插入图片描述

3.2 UART2和3的串口间通信

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/650101.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

腾讯安全周斌:用模型对抗,构建新一代业务风控免疫力

6月13日,腾讯安全联合IDC发布“数字安全免疫力”模型框架,主张将守护企业数据和数字业务两大资产作为企业安全建设的核心目标。腾讯安全副总裁周斌出席研讨论坛并发表主题演讲,他表示,在新技术的趋势影响下,黑灰产的攻…

TS系列之any与unknown详解,示例

文章目录 前言一、一个示例二、示例目的1、功能描述2、主要区别3、代码实现 总结 前言 本片文章主要是在写ts时遇到不知道类型,很容易就想到用any可以解决一切,但这样写并不好。所以今天就总结学习一下,比较好的处理任意类型的unknown。 一、…

patroni+etcd+antdb高可用

patronietcdantdb高可用架构图 Patroni组件功能 自动创建并管理主备流复制集群,并且通过api接口往dcs(Distributed Configuration Store,通常指etcd、zookeeper、consul等基于Raft协议的键值存储)读取以及更新键值来维护集群的状态。键值包括集群状态、…

MySQL ibdata1 文件“减肥”记

夏天来了,没想到连 ibdata1 文件也要开始“减肥”了~ 作者:杨彩琳 爱可生华东交付部 DBA,主要负责 MySQL 日常问题处理及 DMP 产品支持。爱好跳舞,追剧。 本文来源:原创投稿 有句话是这么说的:“在 InnoDB…

深入分析 Java IO (一)概述

目录 一、前言 二、基于字节操作的接口 2.1、字节输入流 2.2、字节输出流 三、基于字符操作的接口 3.1、字符输入流 3.2、字符输出流 四、字节与字符的转化 4.1、输入流转化过程 4.2、输出流转化过程 五、基于磁盘操作的接口 六、基于网络操作的接口 6.1、Socket简…

接口自动化测试框架?你真的会封装吗?自动化框架几大功能专项...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 当准备使用一个接…

项目经理如何做好时间管理?

1、建立时间管理原则 (1)我们需要通过时间日志的方式对时间进行记录和分析,并对日常要处理的事务进行优先级排序,优先处理最重要的事物; (2)确定待处理事物的机会成本,提高时间使用…

建模助手618 | 谁不囤点Revit插件我都会生气!

大家好,这里是建模助手。 早在5月份,我们已经就“618”这个事情高调了一番,以提前放“价”的姿势,让许多用户以躺赢的状态拉开了年中大促的序幕。(5月购买的盆友,切记看完全文,内附彩蛋 活动反…

Canal实现0侵入同步缓存数据

开启MySQL binlog功能 cd /home/mysql8/conf vim my.cnf [mysqld] log-bin/var/lib/mysql/mysql-bin # 开启 binlog binlog-formatROW # 选择 ROW 模式 server_id1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复 binlog-do-dbimooc-hire-dev # …

冰冰学习笔记:简单了解protobuf

欢迎各位大佬光临本文章!!! 还请各位大佬提出宝贵的意见,如发现文章错误请联系冰冰,冰冰一定会虚心接受,及时改正。 本系列文章为冰冰学习编程的学习笔记,如果对您也有帮助,还请各位…

Fiddler(Statistics、Inspectors)详解

一、Fiddler Statistics详解 Fiddler的 Statistics 分页会统计请求和响应的一些信息。可以使用它完成简单的性能测试,查看其接口的响应时间。 如果你想学习Fiddler抓包工具,我这边给你推荐一套视频,这个视频可以说是B站播放全网第一的Fiddle…

Java 网络编程 —— RMI 框架

概述 RMI 是 Java 提供的一个完善的简单易用的远程方法调用框架,采用客户/服务器通信方式,在服务器上部署了提供各种服务的远程对象,客户端请求访问服务器上远程对象的方法,它要求客户端与服务器端都是 Java 程序 RMI 框架采用代…

提升安全性与合规性的关键工具ADAudit Plus

在当今数字化时代,企业对于安全性和合规性的要求越来越高。特别是在Active Directory(AD)域中,作为组织的核心身份验证和访问管理系统,审计活动的重要性变得前所未有。为了满足这一需求,ADAudit Plus成为了…

TwinCAT3 安装和打开项目问题记录

安装的VS版本: cn_visual_studio_professional_2015_with_update_3_x86_x64_dvd_8923256.iso 安装的TwinCAT版本: TC31-FULL-Setup.3.1.4024.29 更多的TwinCAT版本我都放在了百度云盘,有需求可以留言 4022.22 链接:https://pan.baidu.com/s/1D505FdgL7l1DAUANKb-VLg 提取…

【C++】入门基础知识详解(一)

目录 一、C关键字 二、命名空间 1、命名空间的定义 2、命名空间的使用 三、C输入&&输出 四、缺省参数 1、缺省参数的概念 2、缺省参数的分类 2.1 全缺省参数 2.2 半缺省参数 一、C关键字 我们在学习C之前,我相信大家大多数都对C语言多多少少都有所了解…

JMeter之__threadNum妙用:将接口查询结果列表按顺序赋值给各线程

使用JMeter做性能测试会遇到这么一个场景:后面的请求需要根据前面的查询列表结果通过正则表达式提取器取值后赋值,而后面用户的赋值必须是唯一的,此时该如何做? 如果按编程思维来说,这个问题并不难。只需要把前面的结…

Azkaban搭建与使用

下载最新azkaban源文件:https://github.com/azkaban/azkaban/releases 集群模式安装 1.解压 azkaban-db-3.84.4.tar.gz、 azkaban-exec-server-3.84.4.tar.gz 和 azkaban-web-server-3.84.4.tar.gz 到/opt/install/azkaban 目录下 linux>tar -zxvf azkaban-db-3…

算法:静态查找表

查找表(Search table)是由同一类型的数据元素(或记录)构成的集合。关键字(key)是数据元素中某个数据项的值,又称为键值,用它可以表示一个数据元素,也可以标识一个记录的数据项(字段&…

当深度学习撞上高性能计算,科研仿佛坐上了加速器

今天深度学习无处不在,当你打开移动终端的时候,各种APP会推荐到你喜欢的食物、你喜欢的电影,你关注的新闻热点。在生活中更是改变着我们,今天的智能语音让语言障碍破除,在预测疾病基因大数据领域预测疾病来确定药物治疗…

2023年大学生就业怎么样?双一流高校就业率仅15%,到底是咋了?

2023年,大学毕业生就业状况如何,一直是社会关注的焦点。尤其是中国的双一流高校,以其优越的教学与研究背景和实力,被众多年轻人视为就业的理想选择。 然而,在最新的统计数据中,这些一流高校的就业率却惊人…