树莓派4B 与 stm32 通信_树莓派4b 与 stm32 采用usb-ttl通信-程序员宅基地

技术标签: python  linux  嵌入式  

本文用来记录智能控制课设中的通信环节的实现

硬件便是树莓派4Bstm32(我用的是正点原子的STM32F103ZET6的核心板)
从头开始做的,带着你去从烧录树莓派,安装STM32的编译环境开始,直到二者成功通信。如何使用串口助手进行调试,以及如何通过代码进行通信。

1.准备环节

(树莓派已经烧录好镜像可以正常使用,stm32也已经装好keil5的同学可以略过)

1.1 树莓派

新买的树莓派4B一般TF卡没有烧入镜像(也就是树莓派的操作系统)
官方推荐系统是以下三种
32位Lite版(无桌面)
32位桌面版(推荐使用)
32位桌面版(含常用软件)
这三个链接都会直接下载官网最新的版本,但是由于树莓派官网下载一般是比较慢的,而且如果你想用VNC或者远程链接等新系统还需要做很多的配置。
下面这个链接是我实验室的大佬已经配置了一些常用配置的镜像(可以省很多事)
镜像下载链接
再放上几个常用的小工具
链接:https://pan.baidu.com/s/1nbRxYSjv2O1W9c9VcHETBA
提取码:j4w1
在这里插入图片描述

1.2 烧录镜像

你需要准备一张TF卡,一般16GB就够

  1. 先对TF卡进行格式化,使用小工具中的SD初始化工具
    在这里插入图片描述
    在这里插入图片描述
    点击Format即可

注意!烧录的时候一定不要插入别的U盘,万一不小心点错了你的资料就全没了,而且他会把你的U盘都格式化为14GB左右的,也就是哪怕你是两个T,也会变成14GB,此过程不可逆!!!

  1. 烧入镜像(Win32DiskImager.exe)
    在这里插入图片描述
    在这里插入图片描述
    烧录好以后刚才插入的TF盘会被分成两个部分
    在这里插入图片描述
    注意:如果提示说要将光盘进行格式化,点击取消即可。成功烧入镜像后有一部分是打不开的,如上图
    在这里插入图片描述

如果你是用的树莓派官方下载的镜像,那么你可以用一根Micro-HDMI线将树莓派的桌面/无桌面显示在你的显示器上,树莓派官方是默认禁用远程连接的,所以你要自己进行配置。这里暂不赘述。

如果用的是上面链接中的镜像,已经提前配置好了远程连接等选项,只需要插上电源,用你的电脑连接树莓派的热点

热点名:raspi-webgui
密码:guet-4102
在这里插入图片描述

连接wifi后,用浏览器打开下面的vnc地址,密码如下

vnc地址:http://raspberrypi
密码:guet-4102
在这里插入图片描述

就会跳转到以下界面
在这里插入图片描述
到此,树莓派的前置工作便已经准备妥当,插上网线后树莓派便可以上网了。

1.3 STM32编译工具Keil5安装

附上安装包以及破解器下载链接
链接:https://pan.baidu.com/s/1Lp5pRGo46obEIvFYWkK0cw
提取码:d7u4
在这里插入图片描述
安装与破解教程请参考

2. 通信设置

好了,到现在我们的准备工作已经做好了,我们现在开始树莓派和STM32的通信吧
和之前一样,一各一个来首先是,树莓派的设置

2.1 树莓派通信设置

树莓派我使用的是Linux下的串口调试助手:minicom

  1. 打开树莓派终端配置设置sudo raspi-config
    interfacing options→Serial→NO→YES→reboot

  2. 打开/boot/config.txt文件,查找‘enable_uart=1’,若有,使其所在行内容与这一行完全相同。若无,在文档最后添加这一行

  3. 在terminal中输入sudo apt-get install minicom安装minicom串口调试助手
    4.使用 minicom -s 指令(如果后续操作权限不足,把本指令改为sudo minicom -s再进行操作)→Serial port setup
    在这里插入图片描述

    按下E 调整波特率校验位等与PC上的串口调试助手设置一致(低波特率数据传输受干扰相对小),否则传输的数据混乱

    硬件流控制(F)与软件流控制(G)均调整为NO
    回车保存,返回上一层,选择save setup as dfl(这一步可能出现权限不足,可以sudo为更高权限)
    返回到此界面
    在这里插入图片描述

    按下crtl+a再按下z,进入minicom相关功能的页面,按下Q退出minicom

2.2 STM32通信设置

STM32F103ZET6板子上集成了CH340,直接用USB-TTL接到树莓派上即可
STM32上提前烧入一个简单的串口调试代码就行,能够发送信息,以及接收到信息时有提示(比如LED亮或者蜂鸣器响等等)

注意!!!STM32程序中的波特率一定要和树莓派的保持一致,比如我上面树莓派设置的是115200,所以STM32的波特率也一定要是115200不然信息通信会产生乱码。

3. 开始通信

接好线后,在终端中输入minicom -D 端口号便可以打开minicom的控制台看到从STM32发送来的信息了 如何查看端口号下面会讲到
hhlsh便是从STM32接收到的细
"hhlsh"便是从STM32接收到的数据(会一直接收)

但是这里我遇到一些问题,那就是在minicom的控制台里确实可以收到STM32发送的信息,但是通过控制台发送的信息,STM32却接收不到(可能是我32上代码的问题,暂时不太确定)

到这里已经可以基本实现树莓派4B与STM32之间的通信了,但是通信的目的还是为了能够通过代码发送信息

下面我介绍如何使用 python serial 库使用代码进行通信,以及如何查看端口号

4.使用Python serial通过代码进行通信

  1. 在终端内输入pip install pyserial安装

  2. 查找可用端口python3 -m serial.tools.list_ports
    在这里插入图片描述

  3. 测试代码

读取0.5s接收到的信息

import serial
dev=serial.Serial('/dev/ttyUSB1',115200,timeout=0.5)
dev.readlines()

向STM32发送字母 L

s = 'L'
dev.write("{}\r\n".format(s).encode())

注:1.Linux环境下换行符和Windows是有区别的,Linux下是\r\n,windows下是\n,因此当出现派收的到stm32的数据但是,派发成功的数据stm32收不到那就在write里 面的内容后面加个\r\n试试
2.需要将传输的字符串添加encode()方法,对字符串进行编码

更多关于python serial的用法请参考

到此为止,大家能跟到这一步树莓派4B和STM32之间通信应该已经建立,有细节问题可以在评论区留言

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_44711932/article/details/117390815

智能推荐

第六篇 MyBatis + SpringMVC + Spring + SpringBoot 常见面试题_springboot+mybatis内推面试题常见-程序员宅基地

文章浏览阅读910次。常见面试题:1、MyBatis2、 SpringMVC3、 Spring 4、 SpringBoot _springboot+mybatis内推面试题常见

时间序列分析 | 相似性度量基本方法_时间序列相似性度量方法-程序员宅基地

文章浏览阅读6.3k次,点赞9次,收藏87次。前言时间序列相似性度量是时间序列相似性检索、时间序列无监督聚类、时间序列分类以及其他时间序列分析的基础。给定时间序列的模式表示之后,需要给出一个有效度量来衡量两个时间序列的相似性。时间序列的相似性可以分为如下三种:1、 时序相似性时序相似性是指时间序列点的增减变化模式相同,即在同一时间点增加或者减少,两个时间序列呈现一定程度的相互平行。这个一般使用闵可夫斯基距离即可进行相似性度量。2、 形状相似性形状相似性是指时间序列中具有共同的形状,它通常包含在不同时间点发生的共同的趋势形状或者数据中独立_时间序列相似性度量方法

【数据结构进阶】并查集_并查集csdn-程序员宅基地

文章浏览阅读2.1k次,点赞24次,收藏37次。并查集正如它的名字一样,并查集(Union-Find)就是用来对集合进行 合并(Union) 与 查询(Find) 操作的一种数据结构。合并 就是将两个不相交的集合合并成一个集合。查询 就是查询两个元素是否属于同一集合。并查集的原理并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题(即所谓的并、查)。比如说,我们可以用并查集来判断一个森林中有几棵树、某个节点是否属于某棵树等。组成并查集主要由一个整型数组pre[ ]和两个函数find( )、join( )构成。_并查集csdn

ERP实施-客供料管理(受托加工、来料加工)-程序员宅基地

文章浏览阅读5.1k次,点赞4次,收藏38次。客供料 B库存 特殊库存 来料加工 受托加工_客供料

服务器安全设置_在本地连接的属性中将不必要的协议和服务删除-程序员宅基地

文章浏览阅读966次。一、操作系统的安装  我这里说的操作系统以Windows 2000为例,高版本的Windows也有类似功能。  格式化硬盘时候,必须格式化为NTFS的,绝对不要使用FAT32类型。  C盘为操作系统盘,D盘放常用软件,E盘网站,格式化完成后立刻设置磁盘权限,C盘默认,D盘的安全设置为Administrator和System完全控制,其他用户删除,E盘放网站,如果只有一个网站,就设置Ad_在本地连接的属性中将不必要的协议和服务删除

MPEG-2压缩编码技术原理应用 _对于给定的3三张连续bmp格式灰度图像序列,设计构建mpeg-2编码器,对其进行编码压缩-程序员宅基地

文章浏览阅读7.7k次。MPEG-2压缩编码技术原理应用(一)北京广播学院电视工程系 教授 郭 斌 MPEG是运动图像专家组(Moving Picture Experts Group)的简称,其实质上的名称为国际标准化组织(ISO)和国际电工委员会(IEC)联合技术委员会(JTC)1的第29 分委员会的第11工作组,即ISO/IEC JTC1/SC29/WG11,成立于1988年。其任务是制定世界通用的_对于给定的3三张连续bmp格式灰度图像序列,设计构建mpeg-2编码器,对其进行编码压缩

随便推点

QT32位静态编译库生成_生成32bit-msvc格式的库-程序员宅基地

文章浏览阅读868次。QT静态库编译。_生成32bit-msvc格式的库

ZEGO Flutter SDK 助力开发者高效实现跨平台音视频功能-程序员宅基地

文章浏览阅读1.2k次。近日,即构科技SDK新增支持Flutter跨平台移动框架的方式接入,开发者基于ZEGO Flutter SDK可简单高效地实现跨平台音视频的功能。一. 什么是FlutterFlutter是Google基于Dart语言开发的跨平台移动应用开发框架,开发者通过编写一份Dart代码可同时在iOS和Android平台下构建高性能、高保真、低延迟的应用程序。Flutter本身提供了丰富的UI组件,开发..._zego flutter sdk

SSH服务-程序员宅基地

文章浏览阅读365次。SSH服务提供两种功能,一个是远程控制服务器,第二个是对传输的数据进行加密,保护传输数据的安全性具体软件实现: Openssh:ssh协议的开源软件。工作原理:1、连接建立SSH服务器在指定的端口侦听客户端的连接请求,在客户端向服务器发起连接请求后,双方建立一个TCP连接。2、版本协商SSH协议目前存在SSH1.X(SSH2.0之前的版本)和SSH2.0版本。SSH2.0协议相比SSH1.X协议来说,在结构上做了扩展,可以支持更多的认证方法和密钥交换方法,同时提高了服务能力。_ssh服务

二分查找算法-程序员宅基地

文章浏览阅读2.2k次,点赞16次,收藏9次。二分查找算法,也称为折半查找算法,是一种在有序数据集合中查找目标值的算法。它通过将目标值与数据集合的中间元素进行比较,从而将搜索范围缩小一半。如果目标值等于中间元素,则找到了目标;如果目标值小于中间元素,则在左半部分继续查找;如果目标值大于中间元素,则在右半部分继续查找。通过重复这个过程,最终可以找到目标值或确定目标值不存在于数据集合中。二分查找算法是一种高效且常用的搜索算法,适用于有序数据集合中的搜索操作。它通过每次将搜索范围缩小一半,快速逼近目标值,具有较低的时间复杂度和简单的实现方式。

一种通用代码模型的构建与实现_程序代码模型建立-程序员宅基地

文章浏览阅读550次。开发思路 总体开发思路 代码解析,需要考虑的问题是(目前已经实现了70%左右的功能) 代码片段的内在结构,识别代码片段中所存在的对象元素,系统根据不同的对象元素的分类能快速执行相应的处理程序,将处理的结果进行传递 将处理过程进行缓存,保留代码逻辑层面必要的数据信息,考虑数据的作用范围 批处理规则,让系统知道如何根据相应的条件与规则执行处理相应的脚本语句对象 文件函数的调用,系统判断出对象为函数还是引用外部的文件等等,参数的规则约束校验,如何响应.._程序代码模型建立

LVGL-tileview控件_lvgl tileview-程序员宅基地

文章浏览阅读1.7k次。控件特点以page为基础扩展的控件,增加了释放后会有动画定格效果。lv_tileview_set_tile_act(tileview, ext->act_id.x + x_move, ext->act_id.y + y_move, true);//切入时开启动画效果。static void drag_end_handler(lv_obj_t * tileview){ lv_tileview_ext_t * ext = lv_obj_get_ext_attr(tilevie_lvgl tileview

推荐文章

热门文章

相关标签