概述
陈拓 chentuo@ms.xab.ac.cn 2020/02/14-2020/02/14
1. 概述
下面的操作要在Putty上进行,如果不熟悉请看《电脑连接树莓派Zero W》https://blog.csdn.net/chentuo2000/article/details/81051308
本文介绍在Raspberry Pi 3、3+,4和Raspberry Pi Zero W上配置串行端口。
上述的几种树莓派包含两个可用于串行通信的UART控制器,也就是常说的串口:mini UART和PL011 UART。默认情况下,mini UART映射到40引脚GPIO连接器的TXD(GPIO 14)和RXD(GPIO 15)上,PL011 UART用于蓝牙模块,但是任何一个模块都可以映射到GPIO端口。
树莓派的GPIO引脚有几套编号方案,不要混淆了,可以用下面的命令查看串口对应的GPIO引脚:
pi@raspberrypi:~ $ gpio readall
串口对应的物理引脚是Pin8 - GPIO14(TXD)和Pin10 - GPIO15(RXD)。
要想改变物理引脚的映射关系也是可以的,在《树莓派Zero W添加音频输出》https://blog.csdn.net/chentuo2000/article/details/103432788
一文中有详细说明。
在Linux中可以使用/dev/ttyS0设备访问mini UART端口。Mini UART串口的一个问题是其波特率与VPU内核频率相关,而VPU频率会随处理器负载变化,因此UART串口的波特率也会变化,这将引起问题。
另外,mini UART串口的FIFO缓冲区比PL011 UART小,这可能会导致波特率较高时使丢失字符。
PL011 UART串口使硬件实现的未连接到VPU核心频率,这意味着无论VPU速度如何,波特率都保持不变。PL011 UART串口器还包括mini UART串口不具备的其他功能,例如成帧错误检测,中断检测,接收超时中断和奇偶校验位支持。
PL011 UART串口默认用于蓝牙/无线模块,在需要数据连接可靠的情况下,可以使用PL011 UART串口,如果同时需要使用蓝牙模块,可以使用mini UART串口。
2. 使用PL011 UART串口通信
2.1 启用树莓派的mini UART串口
默认情况下mini UART用于登录连接控制树莓派,比如用Putty,这时mini UART不能用于通信,所以先要启用mini UART的通信功能。
- 查看默认的映射关系
查看设备文件:ls -l /dev
这是mini UART没打开串口功能的情况,只有serial1(蓝牙)默认使用的是PL011 UART (ttyAMA0)硬件串口。
- 打开mini UART串口
执行sudo raspi-config命令:
选择Interfacing Options
选择serial
选择“否”,禁用串口登录功能,将串口用于通信。
选择“是”,启用串口硬件。
再查看设备文件:
serial0(GPIO串口已启用)使用的是ttyS0设备(mini串口),serial1(蓝牙)使用的是ttyAMA0设备(硬件串口PL011)。
2.2 交换映射关系
serial0(mini UART)是GPIO引脚对应的串口,serial1(PL011 UART)是蓝牙对应的串口。想要通过树莓派的GPIO引脚进行稳定的串口通信,需要交换串口的映射关系。
对于2016年3月18日之后的Raspbian Linux版本中,有一个名为pi3-miniuart-bt的设备树文件用于交换串口映射。用下面的命令查看:
ls -l /boot/overlays/pi3-miniuart-bt*
随版本不同有文件/boot/overlays/pi3-miniuart-bt-overlay.dtb或者文件/boot/overlays/pi3-miniuart-bt.dtbo。
启用该文件只需在/boot/config.txt文件末尾添加一行代码。
编辑该文件:
sudo nano /boot/config.txt
在末尾添加一行代码:
dtoverlay=pi3-miniuart-bt
修改完以后重启系统:
sudo reboot
再查看串口映射关系:
已经换过来了。
查看串口对应的GPIO引脚。用下面的命令查看所有引脚的状态:
pi@raspberrypi:~ $ gpio readall
串口对应的引脚是Pin8(TXD, GPIO14)和Pin10(RXD, GPIO15)。
现在就可以在/dev/ttyAMA0上访问UART串行端口了。
3. 测试
3.1 安装串口工具minicom
sudo apt-get install minicom
查看版本:
执行以下命令在minicom中对串口进行配置:
sudo minicom –s
在弹出的菜单中选择“Serial port setup”,将默认设置
改成:
回车:
保存Save setup as df1,退出Exit from Minicom。
3.2 串口回环测试
- 用杜邦线连接Pin8(TxD)和Pin10(RxD)引脚
- 运行sudo minicom
Ctrl+A 按下E选择回显。
输入Raspberry,可以看到回显:
成功!
常用命令:
Ctrl+A W:当显示的内容超过一行之后自动换行
Ctrl+A C:清屏
Ctrl+A X:退出minicom
参考文档:
- 树莓派3B和3B+的串口使用https://blog.csdn.net/m0_37509650/article/details/85403217
- Raspberry Pi 3, 4 and Zero W Serial Port Usagehttps://www.abelectronics.co.uk/kb/article/1035/raspberry-pi-3--4-and-zero-w-serial-port-usage
最后
以上就是怡然棉花糖为你收集整理的windows 蓝牙转串口工具_树莓派串口的使用的全部内容,希望文章能够帮你解决windows 蓝牙转串口工具_树莓派串口的使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复