树莓派4B串口测试与开发
参考文档:
https://shumeipai.nxez.com/2021/08/09/raspberry-pi-4-activating-additional-uart-ports.html
树莓派4B的串口,由两个增加4个,一共6个!
情况一: 缺省镜像中的配置,测试发现只启用了2个:
pi@raspi4b:~ $ ls -l /dev/serial*
lrwxrwxrwx 1 root root 5 Jul 20 12:13 /dev/serial0 -> ttyS0
lrwxrwxrwx 1 root root 7 Jul 20 12:13 /dev/serial1 -> ttyAMA0
pi@raspi4b:~ $ ls -l /dev/tty*
crw-rw---- 1 root dialout 204, 64 Jul 20 12:13 /dev/ttyAMA0
crw------- 1 root root 5, 3 Jul 20 12:13 /dev/ttyprintk
crw--w---- 1 root tty 4, 64 Jul 20 12:13 /dev/ttyS0
----------------查看uart0的引脚------------------------------
pi@raspi4b:~ $ dtoverlay -h uart0 //
Name: uart0
Info: Change the pin usage of uart0
Usage: dtoverlay=uart0,=
Params: txd0_pin GPIO pin for TXD0 (14, 32 or 36 - default 14)
rxd0_pin GPIO pin for RXD0 (15, 33 or 37 - default 15)
pin_func Alternative pin function - 4(Alt0) for 14&15, 7(Alt3) for 32&33, 6(Alt2) for 36&37
-----------------查看uart1的引脚---------------------------
pi@raspi4b:~ $ dtoverlay -h uart1
Name: uart1
Info: Change the pin usage of uart1
Usage: dtoverlay=uart1,=
Params: txd1_pin GPIO pin for TXD1 (14, 32 or 40 - default 14)
rxd1_pin GPIO pin for RXD1 (15, 33 or 41 - default 15)
情况二: 使用 raspi-config 工具,禁用 login shell, 禁用硬件serial, 重启后测试:
pi@raspi4b:~ $ ls -l /dev/tty*
crw-rw---- 1 root dialout 204, 64 Jul 20 12:22 /dev/ttyAMA0
crw------- 1 root root 5, 3 Jul 20 12:21 /dev/ttyprintk
pi@raspi4b:~ $ ll /dev/serial*
lrwxrwxrwx 1 root root 7 Jul 20 12:21 /dev/serial1 -> ttyAMA0
结论: login shell 串口使用的是: /dev/serial0 -> ttyS0
另外一个可能是蓝牙默认的: /dev/serial1 -> ttyAMA0
==================================
zhw测试成功:使用uart2串口 自收自发
编辑 /boot/config.txt 添加一行开启uart2串口
dtoverlay=uart2
之后重启。
查看uart2的 端口映射: # dtoverlay -h uart2
Name: uart2
Info: Enable uart 2 on GPIOs 0-3. BCM2711 only.
Usage: dtoverlay=uart2,
Params: ctsrts Enable CTS/RTS on GPIOs 2-3 (default off)
- 查看设备的映射: $ ls -l /dev/tty*
crw-rw---- 1 root dialout 204, 64 Jul 20 11:52 /dev/ttyAMA0
crw-rw---- 1 root dialout 204, 65 Jul 20 11:59 /dev/ttyAMA1
crw------- 1 root root 5, 3 Jul 20 11:52 /dev/ttyprintk
crw--w---- 1 root tty 4, 64 Jul 20 11:52 /dev/ttyS0
$ ls -l /dev/serial*
lrwxrwxrwx 1 root root 5 Jul 20 11:52 /dev/serial0 -> ttyS0
lrwxrwxrwx 1 root root 7 Jul 20 11:52 /dev/serial1 -> ttyAMA0
由第2步的输出,uart2端口映射到 GPIO:0-3 上,使用GPIO0和GPIO1
对照引脚图,可知物理引脚为:27 和 28. 讲它们短路,自发自收!使用下列代码测试 自发自收:
import serial
ted = serial.Serial(port="/dev/ttyAMA1", baudrate=9600)
ted.write("Hello World".encode("gbk"))
11
ted.read(11)
b'Hello World'
以上 zhw 测试成功!
2022.7.20
树莓派4B串口测试与开发的更多相关文章
- 树莓派4B 串口通信
提前下载安装Glade图形编辑器 参考 树莓派4B安装netcore 环境部署.发布.执行操作 准备串口设备本文使用串口控制继电器设备 如图 1.发现串口 void GetSerialPort() { ...
- Linux学习 - 树莓派4b的U-Boot的初识
Linux学习 - 树莓派4b的U-Boot的初识 初识U-Boot 学习书籍:<[正点原子]I.MX6U嵌入式Linux驱动开发指南V1.5.1> 章节:第三十章 学习内容: 书中介绍u ...
- 树莓派4B踩坑指南 - (15)搭建在线python IDE
今天想在树莓派上自己搭一个在线的python IDE,于是找到了一篇教程--Fred913大神的从头开始制作OJ-在线IDE的搭建 自己尝试动手做了一下, 还是发现不少细节需要注意, 记录在此 如果不 ...
- 树莓派4B智能小车机器套件——入手组装实验记录
树莓派4B智能小车机器套件--入手组装实验记录 4WD智能小车(4WD SMART ROBOT KIT),支持Arduino.51.STM32.Raspberry Pi等4个版本.本套件采用的是树莓派 ...
- 树莓派(4B)Linux + .Net Core嵌入式-初始化环境(一)
一.树莓派简单介绍 二.软&件准备 硬件:树莓派4B主机.电源线.TF卡&TF读卡器.PC 软件:win32diskimager(用于烧系统到TF卡).Xshell或Windows T ...
- 树莓派4B到货开箱体验
树莓派4B到货开箱体验 实不相瞒,喜欢这块板已经很久了,但是国内4GB内存的版本始终没货,.....等等等,终于到货了,迅雷不及眼耳之势赶紧下单...购买点亮开发板所需要的物件 顺便看到一个好看的外壳 ...
- 树莓派4B遇到的坑
由于大创需要用到机器学习这些东西,入手了一个树莓派4B(新手没弄过,直接上手最新版果然是有坑的),大佬勿喷
- 树莓派4b通过外接ssd硬盘启动系统失败的排查和解决
树莓派4b通过外接ssd硬盘启动系统失败,症状: 屏幕卡在黑屏或提示 mmc1:Controller never released inhibit bit(s).... 先说如何设置硬盘启动,后面是解 ...
- APP敏捷测试,测试和开发并行!
测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...
随机推荐
- [题解] 春荔(cut) | 贪心
题目大意 有一个长度为 \(n\) 的非负整数序列 \(a_i\),每次可以选择一段区间减去 \(1\),要求选择的区间长度 \(\in[l,r]\),问最少多少次把每个位置减成 \(0\). 不保证 ...
- JuiceFS 在数据湖存储架构上的探索
大家好,我是来自 Juicedata 的高昌健,今天想跟大家分享的主题是<JuiceFS 在数据湖存储架构上的探索>,以下是今天分享的提纲: 首先我会简单的介绍一下大数据存储架构变迁以及它 ...
- DOM操作标签、事件绑定、jQuery框架/类库
DOM操作标签 ''' 在起变量名的时候 如果该变量指向的是一个标签 那么建议使用 xxxEle eg:aEle\pEle\divEle\spanEle ''' # 动态创建一个a标签并添加到页面指定 ...
- Linux下使用ssh测试端口是否开启
当服务器上不允许使用telnet时,可以使用ssh测试远程服务器端口是否开启 具体命令如下 -v 显示连接debug信息 -p port 指定端口 ssh -v -p 80 root@192.168. ...
- 好客租房6-React脚手架的应用(细节)
3.2使用react脚手架初始化 npx命令介绍 npm v5.2.0引入的一条命令 目的:提升包内提供的命令行工具的使用体验 原先:先安装脚手架包 再使用这个包中提供的命令 现在无需安装脚手架包 就 ...
- Hadoop常见shell命令
Hadoop中常见的shell命令 1.如何将Linux本地的数据上传到HDFS中? hadoop fs -put 本地的文件 HDFS中的目录hdfs dfs -put 本地的文件 HDFS中的目录 ...
- 第06组 Beta冲刺 (4/5)
目录 1.1 基本情况 1.2 冲刺概况汇报 1.郝雷明 2. 方梓涵 3.曾丽莉 4.鲍凌函 5. 董翔云 6.黄少丹 7.杜筱 8.詹鑫冰 9.曹兰英 10.吴沅静 1.3 冲刺成果展示 1.1 ...
- C++:制作火把
制作火把 时间限制 : 1.000 sec 内存限制 : 128 MB 题目描述: 小红最近在玩一个制作火把的游戏,一开始,小红手里有一根木棍,她希望能够通过这一根木棍通过交易换取制 ...
- HCNP Routing&Switching之VRRP基础
前文我们了解了链路高可用技术链路聚合相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16279078.html:今天我们来聊一聊另一种高可用技术,网关高 ...
- Java_循环结构
目录 while循环 do...while循环 for循环 for循环嵌套 增强for循环 打印三角形 Debug 视频 while循环 while(布尔表达式){ //循环内容 } //死循环 wh ...