主要器材:树莓派5,WIN11PC,USB转串口模块
步骤一:接线
USB转串口模块如图所示,将其引脚3V3,TXD,RXD,GND分别与树莓派上的3V3 power,RXD,TXD,Ground相连即可。注意:在两个设备之间进行串行通信时,必须交叉连接它们的TXD和RXD引脚,以确保一个设备的发送引脚(TXD)连接到另一个设备的接收引脚(RXD),反之亦然。因此,转串口模块的TXD与树莓派的RXD连接,RXD与TXD连接。部分USB转串口模块可能需要在PC安装驱动。
步骤二:树莓派有关配置
0.更新树莓派操作系统:
sudo apt update
sudo apt upgrade
1.启用串口硬件:
通过sudo raspi-config
命令进入配置界面,选择“Interface Options”后选择“Serial Port”
sudo raspi-config
第一个选 否,第二个选 是
2.配置config.txt
文件:
该文件通常在/boot或者/boot/firmware下,在最后一行添加
enable_uart=1
注意:该文件为只读文件,不易修改,因此使用SD读卡器在PC上修改即可。
3.添加用户权限:
命令行输入:
sudo usermod -a -G dialout $USER
修改完配置文件或设置后,重启树莓派以确保所有设置生效。
步骤三:串口通信测试
1.树莓派安装minicom(可选)
安装一个串口终端工具,比如 minicom
,用于测试串口通信。
sudo apt install minicom
输入minicom -b 115200 -D /dev/ttyAMA0
minicom -b 115200 -D /dev/ttyAMA0
PC上用XCOM随便发送一些信息
minicom上显示相应内容
可能遇到的问题:输入minicom -b 115200 -D /dev/ttyAMA0后显示“设备已锁定”。
原因:1. 其他进程占用 2. 未正常退出,而残留锁文件
原因1的解决方法:使用命令 lsof
查看是否有其他进程占用了/dev/ttyAMA0
:
lsof /dev/ttyAMA0
如图,该进程占用了ttyAMA0,使用sudo kill -9 PID值来终止进程,如图PID值为2001
sudo kill -9 2001
再次输入lsof,可见进程已经关闭。
原因2的解决办法:在某些情况下,如果minicom
或其他串口通信程序在上次使用时未正常退出,可能会残留锁文件。通常这些锁文件会存放在/var/lock
目录中。检查是否存在与ttyAMA0
相关的锁文件:
ls /var/lock
如果发现相关的锁文件,例如LCK..ttyAMA0
,可以将其删除:
sudo rm /var/lock/LCK..ttyAMA0