参考文档:

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串口 自收自发

  1. 编辑 /boot/config.txt 添加一行开启uart2串口

    dtoverlay=uart2

    之后重启。

  2. 查看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)

  1. 查看设备的映射: $ 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

  1. 由第2步的输出,uart2端口映射到 GPIO:0-3 上,使用GPIO0和GPIO1

    对照引脚图,可知物理引脚为:27 和 28. 讲它们短路,自发自收!

  2. 使用下列代码测试 自发自收:

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串口测试与开发的更多相关文章

  1. 树莓派4B 串口通信

    提前下载安装Glade图形编辑器 参考 树莓派4B安装netcore 环境部署.发布.执行操作 准备串口设备本文使用串口控制继电器设备 如图 1.发现串口 void GetSerialPort() { ...

  2. Linux学习 - 树莓派4b的U-Boot的初识

    Linux学习 - 树莓派4b的U-Boot的初识 初识U-Boot 学习书籍:<[正点原子]I.MX6U嵌入式Linux驱动开发指南V1.5.1> 章节:第三十章 学习内容: 书中介绍u ...

  3. 树莓派4B踩坑指南 - (15)搭建在线python IDE

    今天想在树莓派上自己搭一个在线的python IDE,于是找到了一篇教程--Fred913大神的从头开始制作OJ-在线IDE的搭建 自己尝试动手做了一下, 还是发现不少细节需要注意, 记录在此 如果不 ...

  4. 树莓派4B智能小车机器套件——入手组装实验记录

    树莓派4B智能小车机器套件--入手组装实验记录 4WD智能小车(4WD SMART ROBOT KIT),支持Arduino.51.STM32.Raspberry Pi等4个版本.本套件采用的是树莓派 ...

  5. 树莓派(4B)Linux + .Net Core嵌入式-初始化环境(一)

    一.树莓派简单介绍 二.软&件准备 硬件:树莓派4B主机.电源线.TF卡&TF读卡器.PC 软件:win32diskimager(用于烧系统到TF卡).Xshell或Windows T ...

  6. 树莓派4B到货开箱体验

    树莓派4B到货开箱体验 实不相瞒,喜欢这块板已经很久了,但是国内4GB内存的版本始终没货,.....等等等,终于到货了,迅雷不及眼耳之势赶紧下单...购买点亮开发板所需要的物件 顺便看到一个好看的外壳 ...

  7. 树莓派4B遇到的坑

    由于大创需要用到机器学习这些东西,入手了一个树莓派4B(新手没弄过,直接上手最新版果然是有坑的),大佬勿喷

  8. 树莓派4b通过外接ssd硬盘启动系统失败的排查和解决

    树莓派4b通过外接ssd硬盘启动系统失败,症状: 屏幕卡在黑屏或提示 mmc1:Controller never released inhibit bit(s).... 先说如何设置硬盘启动,后面是解 ...

  9. APP敏捷测试,测试和开发并行!

    测试和开发具有同等重要的作用,从一开始,测试和开发就是相向而行的.测试是开发团队的一支独立的.重要的支柱力量. 测试要具备独立性,独立分析业务需求,独立配置测试环境,独立编写测试脚本,独立开发测试工具 ...

随机推荐

  1. 虚拟机(Vmvare)与配置,得到一台学习机

    准备: 1.Vmvare 2.CentOS7.4镜像 安装与配置操作系统: 1.配置虚拟机上网 2.配置静态ip地址 开始安装 1. 2.直接下一步选择我们准备好的镜像,然后下一步 3.修改虚拟机的名 ...

  2. 痞子衡嵌入式:大话双核i.MXRT1170之在线联合调试双核工程的三种方法(IAR篇)

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT1170下在线联合调试双核工程的方法(基于IAR). 前段时间痞子衡写过一篇<双核i.MXRT1170之单独在线调试从 ...

  3. Dnscat2隧道

    0x01 前言   DNS是用来做域名解析的,是连接互联网的关键,故即使是企业内网,在防火墙高度关闭下,也有着很好的连通性,但是黑客却可以通过将其他协议的内容封装再DNS协议中,然后通过DNS请求和响 ...

  4. SQL注入靶场

    靶场搭建 系统环境&工具 环境采用centos7的版本(纯命令行),采用一键部署平台,phpstudy工具,安装教程链接:https://www.xp.cn/linux.html#instal ...

  5. 基于SqlSugar的开发框架循序渐进介绍(2)-- 基于中间表的查询处理

    在前面介绍的SqlSugar的相关查询处理操作中,我们主要以单表的方式生成相关的实体类,并在查询的时候,对单表的字段进行条件的对比处理,从而返回对应的数据记录.本篇随笔介绍在一些外键或者中间表的处理中 ...

  6. 234. Palindrome Linked List - LeetCode

    Question 234. Palindrome Linked List Solution 题目大意:给一个链表,判断是该链表中的元素组成的串是否回文 思路:遍历链表添加到一个list中,再遍历lis ...

  7. python之loggin模块与第三方模块

    目录 logging模块详解 第三方模块 openpyxl模块 logging模块详解 主要组成部分 logger对象,用于产生日志 # 第一步,创建logger对象 logger = logging ...

  8. OpenWrt 20.02.2 小米路由器3G配置CP1025网络打印

    家里的施乐 CP116w 工作快五年了终于罢工了. 黑粉报错, 自己也不会拆, 只能搁置了. 后来换了个 HP CP1025. 这个打印机也不错, 墨盒便宜没什么废粉, 就是启动慢一点, 而且 -- ...

  9. .NET C#基础(7):接口 - 人如何和猫互动

    0. 文章目的   面向有一定基础的C#初学者,介绍C#中接口的意义.使用以及特点. 1. 阅读基础   了解C#基本语法(如定义一个类.继承一个类)   理解OOP中的基本概念(如继承,多态) 2. ...

  10. 拙见--springMVC的controller接受的请求参数

    1-这种是最常用的表单参数提交,ContentType指定为application/x-www-form-urlencoded,也就是会进行URL编码. 1.1-对象类型实体Bean接收请求参数(表单 ...