步骤1:接线方式:485转USB
注意接线口是否对应:A1B1
步骤2:查看串口配置—映射关系是否正确
命令:
ls -l /dev
serial0即GPIO映射的串口,默认是ttyS0,即mini串口 serial1即板载蓝牙映射的串口,默认是ttyAMA0,即硬件串口
在开启串口通讯不做任何设置的时候,默认的串口通讯使用的是“mini串口”。如果要在项目中使用,为了通讯稳定,需要进行“硬件串口”与“mini串口”默认映射对换。
serial0映射成ttyAMA0,serial1映射成ttyS0
使用以下命令编辑 /boot 目录下的config.txt文件:
sudo nano /boot/config.txt
在文本末尾加上如下一行代码:
dtoverlay=pi3-miniuart-bt
步骤3:关闭串口控制台
步骤4:/boot/cmdline.txt文件配置
命令:
sudo nano /boot/cmdline.txt
在其中添加该句:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 fsck.repair=yes rootwait quiet spla>
步骤5:/boot/config.txt文件配置
命令:
sudo nano /boot/config.txt
在最后添加串口开启,并打开指定串口
enable uart=1
dtoverlay=pi3-miniuart-bt,core_freq=250
dtoverlay=uart4
dtoverlay=uart3
补充:
查看目前已经打开哪些串口命令:
ls /dev/ttyAMA*
或
python -m serial.tools.list_ports
查看映射关系命令:
ls -l /dev/serial*
重启命令:sudo reboot
调式1
连线后打开设备管理器检查串口是否正常
调试工具:MobaXterm_Personal_10.4
树莓派端使用python测试代码进行调试
import serial
port = "/dev/ttyAMA2"
usart = serial.Serial(port,9600)
usart.flushInput()
print("serial test:BaudRate=9601")
usart.write("please\t".encode("utf-8"))
while True:
if(usart.inWaiting()>0):
receive = usart.read(1)
usart.wirte("senf:".encode("utf-8"))
usart.write(receive)
usart.write("\r".encode("utf-8"))
print(receive)
测试成功示例:
调试2
参考文章:树莓派从零开始快速入门第9讲——串口
调试工具:SSCOM、树莓派minicom
1)下载minicom
sudo apt-get install minicom
2)确认硬件连接
连线后打开设备管理器检查串口是否正常
2)运行minicom
sudo minicom -D /dev/ttyAMA2
// 默认波特率为115200,-D代表端口,/dev/ttyAMA2 类似于windows中的COM口
3)PC端打开串口助手
打开串口助手,设置好波特率和com口。
4)PC端和树莓派相互收发数据
在minicom窗口输入字符串即可发送至PC端,窗口默认不显示键盘输入的字符串。 在PC端发送字符串,会在minicom的窗口显示出来。
minicom使用技巧: 1:输入crtl+A,再输入E,可以打开串口发送显示(默认是关闭显示的),再操作一遍则是隐藏显示。 2:输入crtl+A,再输入Q,Enter,可以退出minicom窗口。