树莓派【CM4】串口控制台及多串口使用

2023-10-29

树莓派【CM4】串口控制台及多串口使用

一、串口1作为控制台

1.1 引脚说明

树莓派CM4自带了串口控制台,它默认使用串口1作为控制台输出,在CM4的引脚对应如下:

GPIO编码 串口信号
GPIO14 TXD
GPIO15 RXD

1.2 启用步骤

针对我们自己制作的固件来说,需要先将GPIO默认全部设置为输入状态的设置取消,这个需要修改/boot/config.txt,将其中的device_tree_overlay=overlays/mygpio-overlay.dtb注释或删除。操作指令如下:

sudo nano /boot/config.txt

在这里插入图片描述
然后启用串口控制台,可以通过树莓派的设置界面进行,如下图:
请添加图片描述
设置完成后重启即可。

二、串口1作为普通串口使用

2.1 关闭控制台功能

通过系统设置关闭控制台功能
请添加图片描述

2.1 启用普通串口功能

通过下面的指令打开启动配置文件

sudo nano /boot/config.txt

在文件中找到enable_uart=1并删除,这个一般会出现在文件的结尾处,同时在文件结尾增加

dtoverlay=uart0

其中uart0实际对应的是串口1,不知道为什么。

注意:树莓派【CM4】GPIO引脚电压受GPIO_VREF控制,GPIO上所连接的信号电压必须与GPIO_VREF一致(1.8V或3.3V)。我们的板子默认为3.3V。否则GPIO将会被不可逆的损坏。

多串口启用

树莓派【CM4】至少有4个串口可以被用户使用,这些串口通过配置``就能启用,具体配置操作可以参考【树莓派4 UART 多串口配置通信】。
虽然上述参考资料是以树莓派4B为例,但经过我的测试,其操作完全适用于CM4。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

树莓派【CM4】串口控制台及多串口使用 的相关文章

  • 理解这部分手臂的汇编代码

    syntax unified thumb cpu cortex m4 arch armv7e m fpu fpv4 sp d16 Changes from unprivileged to privileged mode thumb func
  • 将 ZeroMQ 交叉编译为 ARM,以便在 MonoTouch iPhone 应用程序配置设置中使用

    我正在尝试在使用 MonoTouch 用 C 开发的 iPhone 应用程序中使用 ZeroMQ 库 我几乎解决了所有的问题 却在最后一道坎倒下了 我正在使用 ZeroMQ 2 1 10 和 C CLR 绑定 包装器 并在 Mac OS X
  • GNU Arm Cortex m4 上的 C++ 异常处理程序与 freertos

    2016 年 12 月更新现在还有一个关于此行为的最小示例 https community nxp com message 862676 https community nxp com message 862676 我正在使用带有 free
  • 如何修改内核DTB文件

    Summary 我目前正在为定制板编译 Linux 内核 内核 模块和 DTB 以及一些定制驱动程序 有时 我会编译内核并意识到 DTB 文件中的兼容性字符串不是自定义驱动程序正在寻找的内容 现在 我可以解决此问题的唯一方法是修改 DTS
  • 哪些变量类型/大小在 STM32 微控制器上是原子的?

    以下是 STM32 微控制器上的数据类型 http www keil com support man docs armcc armcc chr1359125009502 htm http www keil com support man d
  • DSP 库 - RFFT - 奇怪的结果

    最近我一直在尝试在我的STM32F4 Discovery评估板上进行FFT计算 然后将其发送到PC 我已经调查了我的问题 我认为我对制造商提供的 FFT 函数做错了 我正在使用 CMSIS DSP 库 现在我一直在用代码生成样本 如果工作正
  • C 嵌入式应用程序中 time() 函数的问题

    我在用time 在 ARM 微控制器上 处理器一到达此函数就会重新启动 奇怪的是 当我处于调试模式时 代码运行得很好 但一旦我想将其应用到独立模式 我就会遇到重置 我是否忽略了什么 这个功能有替代品吗 代码部分是这样的 include
  • 可以使用Visual Studio 2012构建ARM桌面程序吗?

    我正在使用 Visual Studio 2012 beta 我的桌面 win32 程序在 ARM 架构中编译得很好 升级到 Visual Studio 2012 RC 后 编译器无法工作并出现以下错误 不支持为 ARM 平台编译桌面应用程序
  • 为 ARM 交叉编译 zlib

    我尝试为arm poky linux gnueabi交叉编译zlib 但启动 make 时出现错误 zlib 1 2 11 AR HOST ar CC HOST gcc RANLIB HOST ranlib configure prefix
  • 尝试使用 qemu-arm 运行arm二进制文件时如何解决“加载共享库时出错”?

    我正在运行 Linux Mint 14 并安装了 qemu qemu user 和 gnueabi 工具链 我编译了 test carm linux gnueabi gcc test c o test 当我尝试跑步时qemu arm usr
  • 交叉编译 Qt 4.7 时出现“非法指令”

    我已经在这个问题上苦苦挣扎了一个多星期了 但仍然找不到解决方案 我正在尝试为 ARM 设备交叉编译 Qt 4 7 嵌入式开源版本 构建过程本身可以顺利完成 但生成的二进制文件似乎包含处理器无法理解的指令 构建主机是 i386 上的 Debi
  • 在linux x86平台上学习ARM所需的工具[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有一个 x86 linux 机器 在阅读一些关于 ARM 的各种信息时 我很好奇 现在我想花一些时间学
  • DS-5:什么是 FVP、RTSM、基础模型、AEM 模型、快速模型、CADI?

    DS 5 模拟器使用了很多术语 如 FVP RTSM 快速模型 基础模型 AEM 模型 CADI Arm的文档中提供的解释不是很清楚 这些术语的含义是什么 作为 DS 5 的最终用户我应该关心哪些术语 Model 软件模拟的行业术语 就 A
  • Qemu flash 启动不起作用

    我有一本相当旧的 2009 年出版 嵌入式 ARM Linux 书 其中使用u boot and qemu 的用法qemu与u boot书中对二进制的解释如下 qemu system arm M connex pflash u boot b
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • 如何获取结构体中任意成员的位位置

    如何获取结构体中任意成员的位位置 在示例中 gt typedef struct BitExamStruct unsigned int v1 3 unsigned int v2 4 unsigned int v3 5 unsigned int
  • 如何在WinMobile6上启用ARMv6非对齐访问?

    ARMv6 引入了一个很棒的功能 未对齐的内存访问 这使得代码中的某些事情变得更加简单和更快 但微软只在winCE6中提供了API 现在大多数 PDA 都基于 WinMobile6 基于 CE 5 x 默认情况下禁用未对齐访问 我尝试在 C
  • ARM Cortex-M3 启动代码

    我试图了解 STM32 微控制器的 Keil realview v4 附带的初始化代码是如何工作的 具体来说 我试图了解堆栈是如何初始化的 In the 文档 http infocenter arm com help index jsp t
  • 上下文切换到安全模式(arm trustzone)的成本是多少

    我试图了解在arm中可信 安全 和非安全模式之间来回切换的成本 从非安全世界转移到安全世界时到底需要发生什么 我知道需要设置 ns 位 基于某些特殊指令 需要刷新和更新页表 刷新和更新处理器缓存 还有什么需要发生的吗 处理器缓存 它们是分段
  • GCC:如何在 MCU 上完全禁用堆使用?

    我有一个在基于 ARM Cortex M 的 MCU 上运行并用 C 和 C 编写的应用程序 我用gcc and g 编译它并希望完全禁用任何堆使用 在 MCU 启动文件中 堆大小已设置为 0 除此之外 我还想禁止代码中意外使用堆 换句话说

随机推荐

  • Java高并发系统的限流策略

    概要 在大数据量高并发访问时 经常会出现服务或接口面对暴涨的请求而不可用的情况 甚至引发连锁反映导致整个系统崩溃 此时你需要使用的技术手段之一就是限流 当请求达到一定的并发数或速率 就进行等待 排队 降级 拒绝服务等 在开发高并发系统时有三
  • sql javascript ajax,javascript - AJAX Sql Update not working - Stack Overflow

    I stripped down my code to make this question a little simpler This is my PHP at the top of the file if isset POST actio
  • GIS常见数据格式

    文章目录 1 矢量数据格式 2 栅格文件格式 3 模型文件格式 1 矢量数据格式 矢量文件格式 文件说明 数据集类型 AutoCAD Drawing 文件 dwg DWG 是 AutoCAD 的图形文件 专门用于保存矢量图形的标准文件格式
  • 系统环境配置

    JAVA 1 openjdk和Maven安装 添加环境变量 bash profile export MAVEN HOME Users admin Software apache maven 3 8 1 export JAVA HOME Li
  • Jpa 主键@Id @IdClass 以及 @EmbeddedId和@idClass的区别

    1 自动主键 默认情况下 主键是一个连续的64位数字 long 它由ObjectDB自动为存储在数据库中的每个新实体对象自动设置 数据库中的第一个实体对象的主键是1 第二个实体对象的主键是2等等 当从数据库中删除实体对象时 主键值不会被回收
  • 简述什么是封装性、继承性和多态性

    封装就是把普通的对象进行封装 对象的属性设为私有的 对外提供get和set方法 其他类只能通过get和set对对象属性值进行操作 继承是发生在两个类之间 一个类继承另一个类是说这个类属于另一个类 具有另一个类的所有属性和方法 同时它还可以有
  • Word标题样式设置多级自动编号

    0x01 问题起源 有时候在写论文时需要设置自动编号 手动标记一来太多 太麻烦 二来牵一发而动全身 不易修改 Word的标题样式好用 如上图 可以方便设置同一级标题的样式 但是在标题样式设置中的 编号 如下图 却无法达到我们想要的多级自动编
  • 泛型——反射来获取泛型信息

    利用反射来获取泛型的类型 泛型信息 步骤 1 获取当前类 2 获取目标字段 3 获取包含泛型类型的类型 getGenericType 4 强转至子类ParameterizedType 5 获得泛型真正的类型 getActualTypeArg
  • linux系统rwx(421)、777权限详解

    摘要 linux的常见权限 mark一下 常用的linux文件权限如下 444 r r r 600 rw 644 rw r r 666 rw rw rw 700 rwx 744 rwxr r 755 rwxr xr x 777 rwxrwx
  • springboot 分页查询参数_精通SpringBoot--分页查询功能的实现

    本文将介绍如何实现分页查询功能 推荐使用github的pagehelper插件实现 事实上大家基本都是这么干的 但本文的实现方式和大多数不同 废话少说 现在就带着大家看看区别在哪里 先看pom xml依赖 相当简单的mybatis spri
  • 隐藏android中EditText的下划线

    有的时候需要隐藏掉EditText的边框和下划线 代码为 主要是这一栏 android background null
  • nested exception is org.apache.ibatis.exceptions.PersistenceException:

    问题 org mybatis spring MyBatisSystemException nested exception is org apache ibatis exceptions PersistenceException Error
  • Prometheus Node_exporter 之 Network Netstat ICMP

    Network Netstat ICMP proc net snmp 1 ICMP Errors 1 type GraphUnit shortLabel Messages out in InErrors 接收的 ICMP 错误的报文 例如I
  • 智慧水务行业市场研究 附下载地址

    智慧水务通过数采仪 无线网络 水质水压表等在线监测设备实时感知城市供排水系统的运行状态 并采用可视化的方式有机整合水务管理部门与供排水设施 形成 城市水务物联网 并可将海量水务信息进行及时分析与处理 并做出相应的处理结果辅助决策建议 以更加
  • java程序员_Java程序员必备的一些流程图

    前言 整理了一些Java基础流程图 架构图 做一下笔记 大家一起学习 1 spring的生命周期 Spring作为当前Java最流行 最强大的轻量级容器框架 了解熟悉spring的生命周期非常有必要 image png 首先容器启动后 对b
  • python syntaxerror unexpected eof的错误处理( IllegalCharacterError)

    python syntaxerror unexpected eof的错误处理 IllegalCharacterError 写了这样一段Python代码 用于将内容写入Excel 其中self keylist self valuelist 有
  • Docker安装Failed to start docker.service: Unit docker.service not found.

    CentOS安装Docker 启动时候报错Failed to start docker service Unit docker service not found 如下 原因是CentOS默认使用podman代替docker 所以需要将po
  • 数字证书原理

    转自 http www 2cto com article 201203 122095 html 公钥机制面临的问题 假冒身份发布公钥 采用公钥机制进行加密传输面临的一个问题是公钥的发布 任何一个用户都可以通过网络向所有人发布伪造的公钥 如果
  • php 如何验证密码复杂度?

    a valid password should contains at least 1 upper case letter 1 lower case letter 1 number 1 special character and 8 cha
  • 树莓派【CM4】串口控制台及多串口使用

    树莓派 CM4 串口控制台及多串口使用 一 串口1作为控制台 1 1 引脚说明 树莓派CM4自带了串口控制台 它默认使用串口1作为控制台输出 在CM4的引脚对应如下 GPIO编码 串口信号 GPIO14 TXD GPIO15 RXD 1 2