一、数据发送与接收。 (1)、STM32 的发送与接收是通过数据寄存器 USART_DR 来实现的,这是一个双寄存器,包含了 TDR 和 RDR。 当向该寄存器写数据的时候,串口就会自动发送; 当收到数据的时候,也是存在该寄存器内。 1)STM32 库函数操作 USART_DR 寄存器发送数据的函数是: void USART_SendData(USART_TypeDef* USARTx, uint
转载
2024-03-27 16:24:09
315阅读
1.GD32简述 GD32F103是GD早期的产品,GD32E103和GD32F303是对GD32F103的升级和优化,所以4者是兼容的,虽然内核不同,但是通用外设几乎很少涉及到内核部分,在时间急迫的情况下可以使用ST的库开发。2.二者之间的相同点1.外围引脚PIN TO PIN兼容,每个引脚上的复用功能也完全相同。2.芯片内部寄存器、外部IP寄存器地址和逻辑地址完全相同,但是有些寄存器默认值不同
在近段时间的学习中,无论是在STM32项目的编程中还是硬件电路图里,GSM模块都随处可见。因为GSM模块是物联网的重要组成部分,通过GSM模块的网络通信才能够把个个硬件物体之间的数据进行交互和联系。下面来介绍下GSM模块的实现过程。 1. IO口初始化:控制 IO 和通讯 IO,控制包括电源控制,复位和低功
转载
2024-01-19 18:33:52
116阅读
一、准备模块1.esp82662.stm32f1033.TTL下载器4.杜邦线若干二、esp8266下载机智云固件1.打开机智云官网2.注册机智云3.如下图下载固件 下载解压后就是下图这个文件夹 三、烧录固件1.烧录接线,IO0接地才能进入下载模式 2.打开烧录软件,如下图烧录进去 四、创建产品,下载单片机代码
转载
2024-04-07 13:57:49
207阅读
在这篇博文中,我将分享如何用 Python 编写一个程序来接收 STM32 发送的数据,涉及到了多个关键点,包括版本对比、迁移指南、兼容性处理等。这个过程不仅是技术上的挑战,更是一次深入学习和实战应用的机会。
### 版本对比
首先,让我们来看看不同版本的 Python 在串口通信中的兼容性分析。以下表格总结了一些关键特性及其在不同版本中的可用性:
| 特性 | Pyt
啦啦啦啦(这句是为了保存草稿用的,心情不错就不删了)首先要感谢博主 @明天多云转雨 的文章 基于stm32f1的esp01s的驱动库及使用 提供可直接使用的ESP8266的驱动,以及常用方法我是在该博主代码基础上对部分功能新增与调优 本篇文章内容总结下来就是ESP8266-01s1.常用AT指令2.TTL串口使用AT指令上传数据3.STM32利用串口2操作ESP826
转载
2024-05-11 16:00:42
778阅读
如何用Python实现STM32发送光敏信号
在许多物联网项目中,STM32微控制器被广泛应用于传感器数据的读取与传输。光敏电阻是一种常用的传感器,用于检测周围环境的光照强度。在这篇文章中,我将分享如何使用Python与STM32结合,实现光敏信号的发送。
在实际应用中,我们的场景是这样的:有一个基于STM32的设备,它连接了一个光敏电阻。当光线强度变化时,STM32需要将这个信息通过串口发送
文章目录前言一、TIM2定时器设置二、串口发送、中断接收的设置三、具体逻辑实现与数据发送1.TIM2定时器代码2.串口发送和中断接收的代码总结 前言通过STM32采集数据,ESP8266连接热点发送数据到云服务器EMQX,EMQX转发给WPF应用程序的方案此文章是通过STM32采集流量传感器YF-S201数据和发送数据到ESP8266。主要内容就是定时器TIM2捕捉脉冲和串口发送、中断接收的内容
基于HAL库的GPIO配置前言一、芯片选择二、引脚原理图1.芯片引脚分配2.LED模块3.按键模块4.WiFi模块5.DHT11电容式传感器模块6.电机驱动模块三、配置引脚四、确定时钟树总结 前言最近在学习IoT的相关知识,使用的是淘宝上买的一块比较便宜的板子,由于最近比较忙,所以可能更新速度会很慢,但是会坚持更新的!一、芯片选择老样子,配置工程还是先选择芯片,我使用的板子的芯片是STM32F1
项目:stm32检测光敏传感器输入进行计数。思路:
初始化GPIO外设端口时钟GPIO端口配置选择用于EXTI Line的GPIO引脚外部中断配置配置优先级分组嵌套中断控制器配置外部中断处理函数判断中断标志位返回值函数将计数值返回主函数调用PhotoSensor_Init()函数调用OLED显示函数代码: stm32利用外部中断进行光敏传感器的计数光敏传感器初始化函数 PhotoSens
转载
2023-11-13 20:34:37
128阅读
STM32从傻子到智障你今天有的时间是后来的你所梦寐以求的,加油哇!通讯协议,百度下,大同小异。USART,通用同步异步收发器 左边引脚部分:TX发送数据输出引脚RX:接收数据输入引脚SCLK发送时钟输出引脚上面寄存器部分:USART_DR包含一个发送用的TDR寄存器和一个接收用的RDR寄存器。 发送时,将TDR寄存器内容发送到移位寄存器,一位位发出。接收时把收到的每一位保存到接收移位寄存器,然后
转载
2024-07-01 06:03:52
163阅读
还是坑比hal库。 句柄有个很有用的成员是errorcode,基本上只要出错他就会忠实的记录出错的地方,一翻发现是出现溢出错误了,这个溢出错误我现在还是没搞懂是什么意思,因为好像我就算不理他我的数据好像也没错,btw先给出参考手册的定义我看其他帖子说这里其实有一个文字错误是清除中断的方法是读sr和dr而不是读sr和cr &
转载
2024-09-26 13:38:38
133阅读
fat文件系统的所有外部接口都在ff.h中物理驱动器、逻辑驱动器一个物理驱动器就是一个真实的存储设备,例如一个硬盘、一个内存卡。逻辑驱动器就是一个虚拟概念,一个硬盘可以分成CDEF共4个盘,每个盘就是一个逻辑驱动器。在FAT源码中有个宏 _VOLUMES,这个宏被用于配置FAT源码支持多少个逻辑驱动器。具体要配置成多少,看业务需求。FAT源码中有个全局指针数组如上*FatFs,这个指针
转载
2024-07-26 01:36:08
134阅读
源和目标地址必须按数据传输宽度对齐支持循环的缓冲器管理可编程的数据传输数目:最大为65536每一个通道都有一组寄存器DMA_CPARx、DMA_CMARx是没有差别的,它们都可以存放外设的地址、内存的地址。只是名字取的不一样而已。DMA的工作特点:DMA进行数据传输的必要条件:1.剩余传输数据量大于02.DMA传输通道使能3.通道上DMA数据传输有事件请求外设到xx方向的传输: &nbs
串口通信实验Printf支持printf向串口发送一些字符串数据。如果使用串口2,可以修改while((USART1->SR&0X40)==0);和USART1->DR = (u8) ch; 中的USART1为USART2.//加入以下代码,支持printf函数,而不需要选择use MicroLIB
#if 1
#pragma import(__use_no_semiho
转载
2024-01-04 21:53:17
139阅读
目录一、树莓派通信1、硬件连线准备2、安装Serial和打开树莓派串口2.1安装Serial2.2打开树莓派串口2.3修改串口映射关系3、树莓派代码4、上位机5、运行uart.py代码进行测试5.1 树莓派发送,上位机接收5.2上位机发送,树莓派接收 二、STM32通信6、配置串口7、测试STM32通信7.1 STM32发送数据,上位机接收数据7.2 上位机发送数据,STM32接收数据三
转载
2024-01-29 03:09:47
1994阅读
将图像保存在SD卡一、思路二、移植文件系统三、保存图片四、实验结果 一、思路这里保存的是BMP图像,需要先连接bmp图像的数据格式。在STM32上采集的数据格式是RGB565方便在LCD上显示。如果直接发送还需要处理RGB565到RGB555的格式转换,以及bmp的数据头信息。将bmp保存在sd卡上,这里移植FATFS文件系统。图片保存的步骤:配置bmp的图片头信息,设置数据格式掩码,写入图像数
多年前在使用STM32中的硬件SPI通讯过程中,发现所给的例程实际上是有问题的。最近我的学生跟同事总跟我反映:“SPI通讯他们调试速度总是上不去,芯片支持到25MHz,我们只能做到1M左右。” 今天台式SPI的时候,我将这个问题放上来说一下。 在STM32的SPI通讯过程中,非DMA模式下,每发送一个数据后,我们的代码是这样写的:void SPI1_Send_Byte(unsigned char
转载
2024-10-29 21:24:28
192阅读
使用stm32f10x调试串口通讯时,发现一个出错的现象,硬件复位重启之后,发送测试数据0x01 0x02 0x03 0x04..接收端收到的数据为:0x02 0x03 0x04,第一个数据丢失。换成发送别的数值的数据,如0x06 0x0ff,则接收到0x0ff,0x06丢失。错误依旧。
故障排除过程:
1、刚开始怀疑是接收端的错误,我是
一、stm32固件库学习1. 建立模板模板是按照附件的方法建立的,共建立了4个文件夹:CMSIS、Startup、USER、Project。在Project中还建立了2个文件夹:Obj和Listing,用于存放目标文件和列表文件。最终的物理目录如下。 在MDK4.23中建立相应的目录,实际上除了misc.c和stm32f10xrcc.c是必须的外,其它的库根据需要剪裁。 2.