文章目录
今天在移植树莓派串口的过程中,发现串口不工作,最后定位到了是串口写的时候发生阻塞。
网上搜了一下,用pigpio驱动串口需要修改一下串口映射关系。
一、修改串口映射关系
1.查找串口映射关系
在终端输入
ls -l /dev
发现串口是映射到串口1上的
2.编译修改/boot/config.txt文件
sudo nano /boot/config.txt
在文件后面增加一句代码
dtoverlay=pi3-miniuart-bt
重启树莓派,
再显示一下
ls -l /dev
串口映射到了串口0
二、禁用串口的默认控制台功能
1.禁用服务
sudo systemctl stop serial-getty@ttyAMA0.service
sudo systemctl disable serial-getty@ttyAMA0.service
2.编辑/boot/cmdline.txt文件
sudo nano /boot/cmdline.txt
删掉蓝框这一部分
重启树莓派
三、验证串口
1.硬件连接图
2.编写程序
# -*- coding: utf-8 -*
import serial
import time
# 打开串口
ser = serial.Serial("/dev/ttyAMA0", 115200)
while True:
# 获得接收缓冲区字符
count = ser.inWaiting()
if count != 0:
# 读取内容并回显
recv = ser.read(count)
ser.write(recv)
print(recv)
# 清空接收缓冲区
ser.flushInput()
# 必要的软件延时
time.sleep(0.1)
3.打开串口助手
4.运行程序
5.验证
在串口上按下图配置并发送
串口助手接收的消息
树莓派接收的消息