本次做项目需要树莓派与STM32F4进行串口通信 记录一下过程
需要准备:
树莓派
usb转ttl
杜邦线四根
pc端串口调试助手
1.树莓派串口与TTl连接
先看树莓派引脚图:
图中可以看到 GPIO14 和 GPIO15 分别为TXD RXD 左上角是两个5V的电源 再往下是接地的引脚
再看USB-TTl
从图中可以看到 它有四个引脚 分别是 VDD(电源)、TXD、RXD、GUD(接地)。
接线的方法就是 :
VDD接树莓派的5V电源
GND接树莓派的ground
TXD接树莓派的RXD
RXD接树莓派的TXD
有的USB-TTL有五个引脚比着这个多了个3.3V的电源引脚 接哪个电源看自己心情
接线完成后 我们开始连接pc端的串口调试助手
2.连接串口调试助手
我们将usb插电电脑上 打开usb串口助手 (我这里用的是友善串口调试助手 用什么都行)
如果找不到端口 我们右键此电脑打开设备管理器 看看是不是有个未知设备 如果有的话那就是你的TTL需要安装驱动 可以找卖家要或者百度下载
正常情况下 选择好端口 设置波特率9600 数据位8 校验位 None 停止位1 流控None 然后点击上方的三角开始按钮 左下角会变成绿色字体 表示串口已经打开
树莓派端配置
下面开始配置树莓派
首先要先知道 树莓派一共是有两个端口可用的 一个为/dev/ttyAMA0 /dev/ttyS0 ttyS0是mini串口 ttyAMA0是硬件串口 这里我们用AMA0 因为它比较稳定 但是它被蓝牙占用了 下面我们来配置一下
打开终端 输入
ls -l /dev
看一下输出 你的serial0 指向的是S0还是AMA0 一般情况下默认指向的是S0 我们需要更换一下
终端输入
sudo nano /boot/config.txt
在末尾加上这么一句话
dtoverlay=pi3-miniuart-bt
按Ctrl+O写入 按回车再按Ctrl+X退出
然后输入
sudo raspi-config
打开系统配置界面
依次选择 Inerfacing Options 、serial 、No 、Yes 保存退出
终端输入:
sudo nano /boot/cmdline.txt
把里面的内容替换成
dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
然后输入
sudo reboot
重启下树莓派
重启完成后我们打开终端输入
ls -l /dev
我们发现serial已经指向ttyAMA0
恭喜!到此树莓派配置完成
如果有什么其他问题可以在评论区留言 我会一一回复
下面我们开始测试!
程序测试
树莓派一般自带pyserial模块这里注意千万不要再去下载一个名为serial的模块是个坑
打开终端输入
sudo chmod 777 /dev/ttyAMA0
回车给下权限要不等会儿会报错
再输入python3
进入到python里面
import serial#导入pyserial模块
ser = serial.Serial('/dev/ttyAMA0',9600)#创建serial对象 并且指定波特率为9600(与调试助手一致)
ser.isOpen()#返回Ture则代表串口已打开
ser.write('Hello CSDN !!'.encode('utf-8'))#向串口发送字符串并指定编码为utf-8
看看pc端的串口调试助手有没有接收到消息 如果收到了 恭喜!完成了串口通信