树莓派串口通信

news/2025/2/12 15:06:10/

文章目录

    • 一、树莓派串口介绍
    • 二、串口通信配置
      • 1.打开USART串口
      • 2.串口映射配置
      • 3.安装mini串口调试助手
      • 4. 解决打开ttyAMA0 时没有权限
      • 5.解决打开minicom串口助手的时候,键盘失灵

一、树莓派串口介绍

  • 树莓派4B一共包含两个串口,一个是硬件串口(/dev/ttyAMA0),一个是mini串口(/dev/ttyS0)。
  • 硬件串口因为使用其单独的时钟源,性能高,稳定可靠,成为使用较为广泛的串口;
  • 另一个mini串口性能低,功能简单,但是没有单独的时钟源,会受到内部时钟的影响,树莓派本身运行linux系统,由CPU内核时钟提供时钟源会造成卡顿等致命错误。
  • 本文使用硬件串口。
    在这里插入图片描述

二、串口通信配置

1.打开USART串口

  • 终端输入
sudo raspi-config
  • 选择Interface Options后回车
    在这里插入图片描述
  • 选择Serial Port后回车
    在这里插入图片描述
  • 第一个选项(would you like a login shell to be accessible over serial?)选择NO;
    第二个选项(would you like the serial port hardware to be enabled?)选择 YES。

2.串口映射配置

  • 查看串口映射
ls -l /dev/serial*

在这里插入图片描述
serial0(GPIO串口)默认使用的是ttyS0(mini串口);
serial1(蓝牙)使用的是ttyAMA0(硬件串口)
如果想使用稳定可靠的硬件串口,就要将树莓派的硬件串口与mini串口默认映射对换。而这个需求官方也考虑到了,在系统中放了一个实现这个功能的文件—stretch版本系统中的文件为/boot/overlays/pi3-miniuart-bt.dtbo。

  • 默认映射对换
sudo nano /boot/config.txt

在改文件末尾加上
dtoverlay=pi3-miniuart-bt
force_turbo=1
然后ctrl+o进行写入,不修改文件名称,直接回车即可完成写入,最后ctrl+x退出该文件
加粗样式

  • 查看修改后的串口映射
    在这里插入图片描述

3.安装mini串口调试助手

  • 输入以下指令安装mini串口调试助手
sudo apt-get install minicom 
  • 输入以下指令打开串口调试助手
minicom -D /dev/ttyAMA0 -b 9600

这里 -D /dev/ttyAMA0 就是指向我们打开的串口端口号,和COM1这种是一样的, -b 9600是配置波特率,这一项我们在minicom中输入 Ctrl+A 在下方也是可以看到我们的波特率的,如果不设置 -b ,波特率默认会是115200。

4. 解决打开ttyAMA0 时没有权限

sudo chmod 777 /dev/ttyUSB0

ttyUSB0 对应提示没有权限的串口,回车后解决

5.解决打开minicom串口助手的时候,键盘失灵

(1)首先在minicom串口中按下Crtl+A,然后单击 Z 进入帮助选项
(2)点击 O 进入Configure Minicom选项
(3)选择Serial port setup选项,按下 F 将 Hardware Flow Contorl 改为No,即禁用硬件流,然后退出。

注意:如果你和我一样,在minicom中连 Crtl+A 都无法显示的话,打开终端,输入

sudo minicom -s

http://www.ppmy.cn/news/9509.html

相关文章

2022年第十二届APMCM亚太杯1月增赛E题思路分享

2022年亚洲及太平洋地区建模数学竞赛问题E有多少颗核弹可以摧毁地球?题目回顾:1.基本数据分析a) 哪些国家曾经拥有过核武器?b) 在过去的20年中,哪个国家的核武器库存减少或增加得最多?c) 在哪五年早,核武器试验发生的次数最多?d) 在过去1…

【Linux编译器-gcc/g++使用】

1. 背景知识1. 预处理()2. 编译()3. 汇编()4. 连接()有关具体详解可以参照这篇博客:程序环境与预处理2. gcc如何完成格式 gcc [选项] 要编译的文件 [选项] [目标文件]2.1预处理📙功能&#x1f4…

魔兽世界开服教程wow服务器框架Trinirycore构建

首先明杰先给各位普及一下TrinityCore是什么TrinityCore 是c实现MMORPG框架来自MaNGOS,大型网络对象服务,随着时间的推移,该项目代码广泛的优化,改善和清理代码。需要准备的架设工具:端(版本)、…

[Leetcode] 相交链表

给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点,返回 null 。图示两个链表在节点 c1 开始相交:题目数据保证整个链式结构中不存在环。注意,函数返回结果后&#xf…

【Unity3D编辑器扩展】Unity3D中实现UI界面控制,UI界面的显示和隐藏实现

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中,可能遇到管理…

hudi实战-- hudi on flink 参数配置大全

简介 FlinkSQL读写hudi, 官方提供定义主键、写入方式、合并记录、启用/禁用异步压缩或选择要读取的查询类型等配置参数。可以根据业务类型合理的设置这些配置项,不仅可以提高Flink任务读写hudi的性能,还可以节约机器资源。本文将详细介绍hudi on flink 参数配置大全。 基本参…

HTML防数据采集

什么是防采集 就是我们想利用爬虫工具采集某个网站的数据(前提当然是公开合法数据),但网站不想给你采集而设置的技术阻挡措施。 常见的防止采集方案 利用输入验证码框验证,在采集某些网站过程中,要求你输入验证码&a…

怎么安装jupyter notebook的jupyter_contrib_nbextensions

https://www.bilibili.com/read/cv15617808/ 1.在终端输入代码: pip install jupyter_contrib_nbextensions -i https://pypi.douban.com/simple/ 执行一下 jupyter contrib nbextension install --user --skip-running-check 执行一下 打开jupyter notebook&a…