【树莓派5B】IO串口通信使用

news2024/11/26 7:36:56

超级简单的串口使用

  • 前言
  • 零、检查准备(可略)
    • 0.1 查看UART引脚:
    • 0.2 扩展一下引脚查看的方法
  • 一、配置准备
    • 1.1 检查端口配置
    • 1.2 查看串口映射
    • 1.3 下载minicom串口调试工具
    • 1.4 通过命令获取串口上的数据
  • 二、python的serial进行收发测试
  • 总结


前言

先放几篇参考文献先
1、树莓派5开发经验及串口配置这篇是VIP,其实对我来说没啥参考意义。

2、树莓派5串口通信这篇到检查串口映射的时候我就跟他不一样了,因为我是有serial1的。

3、个人认为这个博主的博文比较简洁,好用的----(最新)树莓派5怎么样进行串口通信

我之前一直以为5B升级,是只保留了UART的接口,但是去网上找资料发现,其实还是能有IO串口的。所以这次就来试试效果。

在这里插入图片描述
图片来源指路⇨Raspberry Pi 5(树莓派5)的最新特色和引脚大全

根据@李解49的博文引脚图
在这里插入图片描述


零、检查准备(可略)

0.1 查看UART引脚:

dtoverlay -a | grep uart

在这里插入图片描述
结果

pi@raspberry:~ $ dtoverlay -a | grep uart
  midi-uart0
  midi-uart0-pi5
  midi-uart1
  midi-uart1-pi5
  midi-uart2
  midi-uart2-pi5
  midi-uart3
  midi-uart3-pi5
  midi-uart4
  midi-uart4-pi5
  midi-uart5
  miniuart-bt
  qca7000-uart0
  uart0
  uart0-pi5
  uart1
  uart1-pi5
  uart2
  uart2-pi5
  uart3
  uart3-pi5
  uart4
  uart4-pi5
  uart5

在输出中,可以看到以下主要的 UART 接口:
uart0 和 uart0-pi5
uart1 和 uart1-pi5
uart2 和 uart2-pi5
uart3 和 uart3-pi5
uart4 和 uart4-pi5
uart5

在这里插入图片描述

0.2 扩展一下引脚查看的方法

查看引脚配置的方法,前提是有GPIO Zero Python包,没下载的->在树莓Pi上查看引脚配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一、配置准备

1.1 检查端口配置

在这里插入图片描述
开启串口设置
在这里插入图片描述
开启后,确定,然后等待重启。

1.2 查看串口映射

Alt+T 迅速唤起终端

查看所有的映射

ls /dev -al 

在这里插入图片描述
在这里插入图片描述

我没看懂这里,后来查阅了资料。

树莓派串口分为硬件串口和mini串口,ttyAMA0是硬件串口,ttyS0是mini串口,在树莓派5以下版本硬件串口都被分配给蓝牙(serial1)使用,在进行串口通信时候需要修改映射关系,将硬件串口映射到GPIO引脚上(serial0)

这个也就是我之前用3B的时候,需要关闭蓝牙的配置然后改变串口映射去开启ttyyMA0的原因。

Raspberry Pi 5没有mini UART。
关于这几个串口的解释如下。。。
在这里插入图片描述
上述这么多资料,好像就是说,我这个ttyAMA0可以直接被使用

1.3 下载minicom串口调试工具

sudo apt-get install minicom

安装好之后,硬件连接,我这里是使用电脑端的串口调试助手。

在这里插入图片描述
简单来说,不用接5V供电。使用UART0
然后

1.4 通过命令获取串口上的数据

其实我看其他博主是改了minicom配置文件(我评价的参考文献里面最棒的那篇博文),但是我们的主要调试工具又不是minicom,于是我就不费力去改这个了。主要是参考之前3B时候的玩法去调试

minicom -b 9600 -o -D /dev/ttyAMA0


在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
ok,收发正常!

二、python的serial进行收发测试

在这里插入图片描述
ok,一切正常。


总结

这篇文章依旧没有总结

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

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

相关文章

Llama-3.2-3B-Instruct PyTorch模型微调最佳实践

1 引言 Meta Llama 3.2多语言大型语言模型集合(LM)是一个1B和3B大小(文本输入/文本输出)的预训练和指令微调模型集合。Llama 3.2指令调整的纯文本模型针对多语言对话用例进行了优化,包括智能检索和总结任务。它们在常…

【用Java学习数据结构系列】HashMap与TreeMap的区别,以及Map与Set的关系

看到这句话的时候证明:此刻你我都在努力 加油陌生人 个人主页:Gu Gu Study 专栏:用Java学习数据结构系列 喜欢的一句话: 常常会回顾努力的自己,所以要为自己的努力留下足迹 喜欢的话可以点个赞谢谢了。 作者&#xff…

js逆向——2024最新有道翻译过控制台反调试

今日受害者网址:https://fanyi.youdao.com/ 最近收到粉丝反馈,有道翻译网站添加了反调试功能,出现了打不开控制台的情况 那么,今天就加餐讲一下如何过掉有道的反调试吧~ 我进去测试了一下,发现就是右键检查/f12打开控…

Java-基础

1. 导入模块不能纯粹的复制粘贴,要从new里导入,因为前者建立不了关联 2. 数组 String[] name{"张三","李四","王五"};int[] numsnew int[]{1,2,3};//二维String[][] names{{"张三","李四"},{"…

算法设计课程简介

算法设计课程简介 1. 课程概述 算法设计是一门计算机科学的核心课程,旨在教授学生如何设计、分析和优化各种算法,以解决实际问题。该课程不仅涉及具体算法的实现,更注重算法在时间复杂度和空间复杂度上的优化,帮助学生培养编写高…

map系列的使用

map和multimap参考文档 map和multimap参考文档https://legacy.cplusplus.com/reference/map/ map类的介绍 map的声明如下&#xff0c;Key就是map底层关键字的类型&#xff0c;T是map底层T的类型。但要注意&#xff1a;map的 key 与 T 是封装在std::pair<Key&#xff0c;…

第二十一篇:你知道直播,小区视频点播等是怎么实现的吗?(组播协议)

你知道直播&#xff0c;小区视频点播等是怎么实现的吗&#xff1f;其实现就是运用了组播&#xff01; 信息从信息源发送给组播成员&#xff0c;肯定不能全网无选择的传播&#xff0c;那不是组播&#xff0c;那就是广播了&#xff0c;路由器不支持广播&#xff0c;却支持组播&a…

Kylin系统根分区扩容步骤

问题背景 工作中&#xff0c;有时候Linux操作系统的根分区空间不足&#xff0c;我们需要将已安装的系统根分区进行扩容。那么该如何进行操作呢&#xff1f;我以VMware虚拟机上的Kylin系统为例&#xff0c;进行了详细的实验操作。具体详情请见下面的文章。 虚拟机扩容硬盘 首…

【高等代数笔记】线性空间(二十四下半部分-二十六)

3.23 子空间的运算 【推论1】 dim ⁡ ( V 1 V 2 ) dim ⁡ V 1 dim ⁡ V 2 ⇔ V 1 ∩ V 2 0 \dim(\textbf{V}_1\textbf{V}_2 )\dim\textbf{V}_1\dim\textbf{V}_2\Leftrightarrow\textbf{V}_1\cap\textbf{V}_2\textbf{0} dim(V1​V2​)dimV1​dimV2​⇔V1​∩V2​0 3.24 子…

Redis 高可用方案

Redis 高可用性&#xff08;High Availability&#xff09;是指在 Redis 系统中实现持续的可用性&#xff0c;即使在发生硬件故障或其他意外情况下&#xff0c;系统仍能保持运行。 1 常用方案 为了实现 Redis 的高可用性&#xff0c;以下是几种常用方案&#xff1a; 1.1 使用…

学习threejs,THREE.MeshBasicMaterial网格材质、THREE.MeshLambertMaterial漫反射材质

&#x1f468;‍⚕️ 主页&#xff1a; gis分享者 &#x1f468;‍⚕️ 感谢各位大佬 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍⚕️ 收录于专栏&#xff1a;threejs gis工程师 文章目录 一、&#x1f340;前言1.1 ☘️THREE.MeshBasicMaterial网…

Spring Boot课程答疑:技术难题一网打尽

4系统概要设计 4.1概述 本系统采用B/S结构(Browser/Server,浏览器/服务器结构)和基于Web服务两种模式&#xff0c;是一个适用于Internet环境下的模型结构。只要用户能连上Internet,便可以在任何时间、任何地点使用。系统工作原理图如图4-1所示&#xff1a; 图4-1系统工作原理…

Nuxt.js 应用中的 kit:compatibility 事件钩子详解

title: Nuxt.js 应用中的 kit:compatibility 事件钩子详解 date: 2024/10/11 updated: 2024/10/11 author: cmdragon excerpt: kit:compatibility 是处理浏览器兼容性问题的有效工具。正如本篇文章中所述,合理地利用这一钩子可以提升用户体验,并确保应用在不同环境中都能…

回南天,即使没有除湿机,也能除湿

前几天收到网友私信&#xff0c;询问烘干机干衣吹热风&#xff0c;这个比较好理解&#xff0c;热气吹到衣服上加速水分蒸发。但空调除湿为什么不吹热风了&#xff0c;而吹冷风呢&#xff1f;以及除湿机的原理等的问题。 因为我在南京总是觉得干&#xff0c;加湿器24小时不停&a…

嵌入式面试——FreeRTOS篇(八) Tickless低功耗

本篇为&#xff1a;FreeRTOS Tickless 低功耗模式篇 一、低功耗模式简介 1、低功耗介绍 答&#xff1a; 很多应用场合对于功耗的要求很严格&#xff0c;比如可穿戴低功耗产品、物联网低功耗产品等&#xff1b;一般MCU都有相应的低功耗模式&#xff0c;裸机开发时可以使用MCU的…

【射频通信电子线路基础第八讲】射频小信号放大器

一、射频放大器 不失真放大射频信号 主要要求&#xff1a;最佳增益、噪声系数、功率、带宽——设计统筹考虑 能量转换器 有源器件&#xff08;晶体管&#xff09;是核心 二、射频放大器的位置 三、射频放大器的分类 1、导通角与基于工作点 2、基于信号大小 小信号模式&a…

海报设计用什么软件?一分钟掌握创意海报设计技巧

回想当初&#xff0c;什么都不懂的小编&#xff0c;随便在网上搜教程想自学海报设计&#xff0c;面对满屏的天花乱坠辅导班广告&#xff0c;打起了退堂鼓。 现在已经摸透了怎么完成海报制作设计的小编&#xff0c;准备来给同样想要学习海报设计的新手&#xff0c;分享能够在一…

Cherno游戏引擎笔记(73~90)

------- scene viewport ---------- 》》》》做了两件事&#xff1a;设置视口和设置相机比例 》》》》为什么要设置 m_ViewportSize 为 glm::vec2 而不是 ImVec2 ? 因为后面需要进行 ! 运算&#xff0c;而 ImVec2 没有这个运算符的定义&#xff0c;只有 glm::vec2 有这个运算…

Python JSON 操作中的四个高效小窍门

JSON&#xff08;JavaScript Object Notation&#xff09;作为一种轻量级的数据交换格式&#xff0c;在各种应用场景中扮演着重要角色。Python 中处理 JSON 数据非常便捷&#xff0c;主要通过内置的 json 模块来实现。本文将详细介绍如何使用 Python 进行 JSON 数据的操作&…

python list, tuple dict,set的区别 以及**kwargs 的基本用法

在python中, list, tuple, dict, set有什么区别, 主要应用在什么样的场景? 定义: list:链表,有序的项目, 通过索引进行查找,使用方括号”[]”; tuple:元组,元组将多样的对象集合到一起,不能修改,通过索引进行查找, 使用括号”()”; dict:字典,字典是一组键(key)和值(value…