树莓派CM4开启I2C与UART串口登录同时serial0映射到ttyS0 开启多串口

文章目录

  • 前言
  • 1. 树莓派开启I2C与UART串口登录
  • 2. 开启多串口
  • 总结:

前言

最近用CM4的时候使用到了I2C以及多个UART的情况。
同时配置端口映射也存在部分问题。
这里集中记录一下。


1. 树莓派开启I2C与UART串口登录

输入指令sudo raspi-config
跳转到如下界面:
选择Interface Options这一栏,通过按键上下↑↓进行切换,Enter回车选择。
在这里插入图片描述

选择I2C选项,再选择Yes
这个就是开启了I2C的功能。

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

再以同样的方式选择Serial Port,选择yes。
这个选项是可以通过UART打印shell的信息,也就是串口登录。
在这里插入图片描述

还有其他的一些功能开启,可以自己探索一下。
最后通过左右选择<Back>,返回到初始界面,再选择<Finish>

这里有个坑点,如果开启了串口登录的话,那么我们要使用这个uart1,通过RX1脚接收的数据可能会出现异常。
因此,如果我们需要使用到这个串口1的引脚,需要把这个串口登录给关闭。

最后再重启即可。
登录后通过ls /dev可以看到效果图如下所示,显示i2c相关接口。
在这里插入图片描述
通过ls -l /dev可以看到这个串口映射为ttyS0
在这里插入图片描述


2. 开启多串口

对于串口的使用,可能不只用到一个,需要多个串口的时候,这时候就需要开启其他的串口了。
CM4默认只开启了UART0,刚才写到的UART串口登录其实就是开启了串口1。
在这里插入图片描述

在这里插入图片描述

但这里我们会发现uart0和uart1使用的是同一对引脚,如果想用uart1并且引脚默认配置为14,15脚,需按照上面的raspi-config里面进行开启。

树莓派 CM4 默认情况下将 GPIO14 和 GPIO15 引脚用于 UART0 串口,用于内置蓝牙和控制台通信。默认配置下,控制台 (console) 通过这个串口与树莓派进行通信,可以通过串口连接到树莓派,输出启动日志、命令行输出等。

开启多串口的方式只需要在/boot/config.txt里面添加dtoverlay=uartx,这里x就是串口对应的号。
比如我想要开启uart3,只需要在config.txt文件的最下面一行添加dtoverlay=uart3

在这里插入图片描述

配置完成后重启即可。


配置完成后通过ls /dev可以看到多了一个ttyAMA1
这里要注意一个点,虽然CM4默认开启uart0和uart1,它们分别对应ttyAMA0,和ttyS0。如果我们把所有的uart都开启,那么uart2对应ttyAMA1,uart3对应ttyAMA2,以此类推。

但是我们看到,这里我配置的是uart3,但是通过ls指令,看到的映射端口却是ttyAMA1。这就说明,ttyAMAx这个映射其实是依次分配的,也就是说,我开启了uart0和1,后面如果开启的不是uart2,是uart3,4,5等,这个ttyAMAx映射的就是下一个。而不是说ttyAMA1固定映射uart2。


总结:

这篇博客主要是平时使用过程中常遇到的一些配置相关问题,这里主要做个记录,防止遗忘。

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

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

相关文章

3D WEB轻量化引擎HOOPS助力3D测量应用蓬勃发展:效率、精度显著提升

在3D开发工具领域&#xff0c;Tech Soft 3D打造的HOOPS SDK已经崭露头角&#xff0c;成为了全球领先的3D领域开发工具提供商。HOOPS SDK包括四种不同的3D软件开发工具&#xff0c;已成为行业的翘楚。 其中&#xff0c;HOOPS Exchange以其CAD数据转换的能力脱颖而出&#xff0c…

Arm Cache学习资料大汇总

关键词&#xff1a;cache学习、mmu学习、cache资料、mmu资料、arm资料、armv8资料、armv9资料、 trustzone视频、tee视频、ATF视频、secureboot视频、安全启动视频、selinux视频&#xff0c;cache视频、mmu视频&#xff0c;armv8视频、armv9视频、FF-A视频、密码学视频、RME/CC…

前端开发网站推荐

每个人都会遇见那么一个人&#xff0c;永远无法忘却&#xff0c;也永远不能拥有。 以下是一些可以用来查找和比较前端框架的推荐网站&#xff1a; JavaScript框架比较&#xff1a; 这些网站提供了对不同JavaScript框架和库的详细比较和评估。 JavaScripting: 提供了大量的JavaS…

JavaScript高阶班之ES6 → ES11(八)

JavaScript高阶班之ES6 → ES11 1、ES6新特性1.1、let 关键字1.2、const关键字1.3、变量的解构赋值1.3.1、数组的解构赋值1.3.2、对象的解构赋值 1.4、模板字符串1.5、简化对象写法1.6、箭头函数1.7、函数参数默认值1.8、rest参数1.9、spread扩展运算符1.9.1、数组合并1.9.2、数…

上古神器:十六位应用程序 Debug 的基本使用

文章目录 参考环境上古神器 DebugBug 与 DebuggingDebugDebug 应用程序淘汰原因使用限制 DOSBox学习 Debug 的必要性DOSBox-X Debug 的基本使用命令 R查看寄存器的状态修改寄存器的内容 命令 D显示内存中的数据指定起始内存空间地址指定内存空间的范围 命令 A使用命令语法错误查…

第8章 Spring(二)

8.11 Spring 中哪些情况下,不能解决循环依赖问题 难度:★★ 重点:★★ 白话解析 有一下几种情况,循环依赖是不能解决的: 1、原型模式下的循环依赖没办法解决; 假设Girl中依赖了Boy,Boy中依赖了Girl;在实例化Girl的时候要注入Boy,此时没有Boy,因为是原型模式,每次都…

Konva离屏缓存

前言 cache实例方法定义在Node基类上&#xff0c;通过该方法可以实现图形缓存&#xff0c;在Konva中Stage、Layer、Group、Shape等所有容器类和图形类都直接或间接继承了Node基类&#xff0c;故而都可以使用缓存方法。本篇文章就是探讨Konva背后的缓存机制&#xff0c;版本是v…

8.3Jmeter使用json提取器提取数组值并循环(循环控制器)遍历使用

Jmeter使用json提取器提取数组值并循环遍历使用 响应返回值例如&#xff1a; {"code":0,"data":{"totalCount":11,"pageSize":100,"totalPage":1,"currPage":1,"list":[{"structuredId":&q…

计算机网络笔记 第二章 物理层

2.1 物理层概述 物理层要实现的功能 物理层接口特性 机械特性 形状和尺寸引脚数目和排列固定和锁定装置 电气特性 信号电压的范围阻抗匹配的情况传输速率距离限制 功能特性 -规定接口电缆的各条信号线的作用 过程特性 规定在信号线上传输比特流的一组操作过程&#xff0…

3. 文档操作

1. 创建文档 1.1 创建一个文档 在相应的索引下面使用_doc创建文档&#xff0c;地址为&#xff1a;http://127.0.0.1:9200/students/_doc&#xff0c;创建一个姓名张三的学生信息&#xff1a; {"姓名":"张三","年级":5,"班级":2,&qu…

28391-2012 建筑施工机械与设备 人力移动式液压动力站

声明 本文是学习GB-T 28391-2012 建筑施工机械与设备 人力移动式液压动力站. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 1 范围 本标准规定了人力移动式液压动力站(以下简称动力站)的范围、分类、要求、试验方法和检验规则。 本标准适用于以中小…

AI编程助手 Amazon CodeWhisperer 全面解析与实践

目录 引言Amazon CodeWhisperer简介智能编程助手智能代码建议代码自动补全 提升代码质量代码质量提升安全性检测 支持多平台多语言 用户体验和系统兼容性用户体验文档和学习资源个性化体验系统兼容性 功能全面性和代码质量功能全面性代码生成质量和代码安全性 CodeWhisperer的代…

MySQL数据库——索引(6)-索引使用(覆盖索引与回表查询,前缀索引,单列索引与联合索引 )、索引设计原则、索引总结

目录 索引使用&#xff08;下&#xff09; 覆盖索引与回表查询 思考题 前缀索引 语法 示例 前缀长度 前缀索引的查询流程 单列索引与联合索引 索引设计原则 索引总结 1.索引概述 2.索引结构 3.索引分类 4.索引语法 5.SQL性能分析 6.索引使用 7.索引设计…

应用在手机触摸屏中的电容式触摸芯片

触控屏&#xff08;Touch panel&#xff09;又称为触控面板&#xff0c;是个可接收触头等输入讯号的感应式液晶显示装置&#xff0c;当接触了屏幕上的图形按钮时&#xff0c;屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置&#xff0c;可用以取代机械式的按钮面板&…

机器人过程自动化(RPA)入门 9. 管理和维护代码

仅仅创建一个自动化项目是不够的。无论是决定使用哪种布局,还是正确命名步骤,以正确的方式组织项目都很重要。项目也可以在新的项目中重用,这对用户来说非常方便。本章解释了我们可以重用项目的方法。我们还将学习配置技术并看到一个示例。最后,我们将学习如何集成TFS服务器…

【JavaEE】HTML

JavaWeb HTML 超文本标记语言 超文本&#xff1a;文本、声音、图片、视频、表格、连接标记&#xff1a;有许许多多的标签组成 vscode开发工具搭建 因为我使用的IDEA是社区版&#xff0c;代码高亮补全缩进都有些问题&#xff0c;使用vscode是最好的选择~ 安装 Visual Stu…

Python实用技术二:数据分析和可视化(2)

目录 一&#xff0c;多维数组库numpy 1&#xff0c;操作函数&#xff1a;​ 2&#xff0c;numpy数组元素增删 1&#xff09;添加数组元素 2&#xff09;numpy删除数组元素 3&#xff09;在numpy数组中查找元素 4&#xff09;numpy数组的数学运算 3&#xff0c;numpy数…

Windows中实现将bat或exe文件作为服务_且实现命令行安装、配置、启动、删除服务

一、背景描述 在Windows环境下进行日常的项目开发过程中&#xff0c;有时候需要将bat文件或exe文件程序注册为Windows的服务实现开机自己运行&#xff08;没有用户登陆&#xff0c;服务在开机后也可以照常运行&#xff09;、且对于那些没有用户交互界面的exe程序来说只要在后台…

如何将超大文件压缩到最小

1、一个文件目录&#xff0c;查看属性发现这个文件达到了2.50GB&#xff1b; 2、右键此目录选择添加到压缩文件&#xff1b; 3、在弹出的窗口中将压缩文件格式选择为RAR4&#xff0c;压缩方式选择为最好&#xff0c;选择字典大小最大&#xff0c;勾选压缩选项中的创建固实压缩&…