标签:树莓 20 crw pin 4B dev Jul 串口 root
参考文档:
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
标签:树莓,20,crw,pin,4B,dev,Jul,串口,root 来源: https://www.cnblogs.com/zhw618/p/16497568.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。