当前位置:   article > 正文

树莓派串口通信(pyserial)

树莓派串口

本次做项目需要树莓派与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
  • 1

看一下输出 你的serial0 指向的是S0还是AMA0 一般情况下默认指向的是S0 我们需要更换一下
终端输入

sudo nano /boot/config.txt
  • 1

在末尾加上这么一句话

dtoverlay=pi3-miniuart-bt

  • 1
  • 2

按Ctrl+O写入 按回车再按Ctrl+X退出

然后输入

sudo raspi-config
  • 1

打开系统配置界面
依次选择 Inerfacing Options 、serial 、No 、Yes 保存退出
终端输入:

sudo nano /boot/cmdline.txt
  • 1

把里面的内容替换成

dwc_otg.lpm_enable=0 console=tty1 console=serial0,115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

  • 1
  • 2

然后输入

sudo reboot
  • 1

重启下树莓派
重启完成后我们打开终端输入

ls -l /dev
  • 1

我们发现serial已经指向ttyAMA0
在这里插入图片描述
恭喜!到此树莓派配置完成
如果有什么其他问题可以在评论区留言 我会一一回复
下面我们开始测试!

程序测试

树莓派一般自带pyserial模块这里注意千万不要再去下载一个名为serial的模块是个坑
打开终端输入

sudo chmod 777 /dev/ttyAMA0
  • 1

回车给下权限要不等会儿会报错
再输入python3
进入到python里面

import serial#导入pyserial模块
  • 1
ser = serial.Serial('/dev/ttyAMA0',9600)#创建serial对象 并且指定波特率为9600(与调试助手一致)
  • 1
ser.isOpen()#返回Ture则代表串口已打开
  • 1
ser.write('Hello CSDN !!'.encode('utf-8'))#向串口发送字符串并指定编码为utf-8
  • 1

看看pc端的串口调试助手有没有接收到消息 如果收到了 恭喜!完成了串口通信

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/929488
推荐阅读
相关标签
  

闽ICP备14008679号