外设IO口定义说明

从树莓派的相关资料我们可以看到,树莓派有两个串口可以使用,一个是硬件串口(/dev/ttyAMA0),另一个是mini串口(/dev/ttyS0)。硬件串口有单独的波特率时钟源,性能好,稳定性强;mini串口功能简单,稳定性较差,波特率由CPU内核时钟提供,受内核时钟影响。 树莓派(3/4代)板载蓝牙模块,默认的硬件串口是分配给蓝牙模块使用的,而性能较差的mini串口是分配给GPIO串口 TXD0、RXD0。

image-20201027193659980
python -m serial.tools.list_ports #命令python查看安装到系统上的串口
ls -l /dev/tty*  #查看识别的串口号

Serial 配置

首先运行ls /dev -al命令查看到默认的串口分配方式,如下图所示:

image-20220125213416058

由于硬件串口分配给板载蓝牙使用,所以要释放掉,并设置硬件串口分配给GPIO串口。 首先登陆终端后,输入sudo raspi-config命令进入树莓派系统配置界面,选择第五个Interfacing Options

image-20220125213519894

进入P6 Serial

image-20220125213546164

选择关闭串口登录功能,打开硬件串口调试功能:

image-20220125213609989
image-20220125213626861

完成后提示以下界面,按OK

image-20220125213655132

设置硬件串口为GPIO串口

接着将串口配置为我们的GPIO串口,对输入sudo nano /boot/config.txt命令,将下面两行内容添加到最后:

dtoverlay=pi3-miniuart-bt

force_turbo=1

修改后保存并退出,内容如下图片所示:

image-20220125213830309

重启树莓派后,再次输入ls /dev -al,可以看到两个串口已经互相换了位置:

image-20220125213908406