(一)树莓派串口
树莓派一共有两个串口,一个称之为硬件串口(/dev/ttyAMA0),一个称之为mini串口(/dev/ttyS0)。
硬件串口由硬件实现,有单独的波特率时钟源,性能高、可靠。
mini串口性能低,功能也简单,并且没有波特率专用的时钟源而是由CPU内核时钟提供。
树莓派3代,硬件串口被默认分配给与蓝牙模块通信了,mini串口默认分配给了排针引出的GPIO Tx Rx。
(二)激活串口
进入 /boot/config.txt 文件
在最后一行添加:
enable_uart=1
重启生效。
(三)查看树莓派3当前的串口映射关系
ls -l /dev
serial0 就是GPIO映射的串口,此时GPIO映射的串口是默认的 /dev/ttyS0 这个mini串口。
(四)禁用串口的控制台功能
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
打开并编辑/boot/cmdline.txt文件
删除console=serial0,115200
重启生效。
(五)调换硬件串口与mini串口的默认映射
打开 /boot/config.txt 文件;在末尾添加增加一行代码:
dtoverlay=pi3-miniuart-bt
查看修改后的串口映射
(六)检测串口
通过usb转串口工具连接树莓派
打开命令行,输入 python3
然后输入一下内容
import serial
ser = serial.Serial('/dev/ttyAMA0',115200)
ser.isOpen()
如果返回True 则已经打开。
输入,检查发送是否正常。
ser.write(b'Raspberry pi')