可以使用树莓派的UART0进行串口输出,具体连接方法如图所示:
连接后可以使用如下代码发送串口数据:
import serial
import time
# 串口初始化
ser = serial.Serial('/dev/serial0', 9600, timeout=1) # '/dev/serial0' 是树莓派上默认的串口设备
# 发送数据
message = "Hello, world!"
ser.write(message.encode()) # 将字符串编码成字节并发送
# 关闭串口
ser.close()
注意需要用sudo权限运行python3来运行这个程序。
正常的话串口接收端即可看到数据,注意两端的串口参数要协商一致
可能问题1:树莓派没有/dev/serial0
解决方案:树莓派没有开启串口,在树莓派开始菜单的Preference->Raspberry Pi Configuration中的Interface中,打开(即Enable)Serial Port。
可能问题2:输出的是乱码
解决方案,首先看两端是否参数一致,例如波特率,停止位和校验位等参数,一般都是8N1。但是这些都设置完成后,也可能仍旧是乱码,我无论换什么软件都没有用。最后根据帖子https://codeleading.com/article/71131411362/ 里面的指示,把tf卡取出来后插到电脑上,修改根目录下的config.txt和cmdline.txt这两个文件:
1. 在config.txt文件中附加:
dtoverlay=pi3-miniuart-bt
原有的dtoverlay参数删除
2. 把cmdline.txt中的内容换成
dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
原内容全部删除。
重启后解决问题!如果打开了设置中的Serial Console,还可以在串口中连接树莓派的终端。