030f gpio stm

4 STM32MP1 Linux系统启动过程

1. ROM代码 这是ST官方写的代码,在STM32MP1出厂时就已经烧录进去,不能被修改。ROM代码是上电以后首先执行的程序,它的主要工作就是读取STM32MP1的BOOT引脚电平,然后根据电平来判断当前启动设备,最后从选定的启动设备里面读取FSBL代码,将FSBL代码放在对应的RAM空间。 ST ......
过程 系统 Linux STM MP1

STM32 解析新高效空调协议

1 数据结构=引导码+数据位+尾码 发送数据时先发引导码 50ms的低,再发数据位,最后发尾码 11ms的高和 2ms的低 数据位见协议内容。 送信时, 采用LSB模式(从低位开始)传输,数据"1"输出 9MS 的低和 2MS 的高,数据"0"输出 2MS 的低和9MS6 的高(必须是芯片直接驱动光 ......
空调 STM 32

STM32 外部中断 led灯闪烁

一 、什么是中断 ? 单片机的中断具有外部中断和内部中断,对于中断的理解很多博主讲解得很好,大家可以去学习一下,中断在单片机的学习过程中是非常重要的内容。 我认为中断最为简单的理解就是: 暂停当前的工作,去处理别的工作,别的工作处理完成后再回来继续完成当前的工作。假如你正在吃饭,妈妈叫你去收衣服,此 ......
STM led 32

STM32F103C8在Keil5中烧录后串口工具无法接收到数据(已解决)

## 烧录后串口无法接收到数据(默认硬件连线是正确的,只考虑软件配置问题) #### 在通过Keil5烧录程序并成功后,发现串口没有接收到数据 1. 烧录成功未报错 ![image](https://img2023.cnblogs.com/blog/2657576/202307/2657576-20 ......
串口 工具 数据 Keil5 103C

stm32cubeide 内部flash以结构体形式读写数据

在FLASH中读写结构体 ⚠ 注意事项 编程(写数据)地址要对齐 写数据时,我们要指定写入的地址,如果写入地址为非对齐,则会出现编程对齐错误。比如遵循32位(4字节)地址对齐,你的地址只能是4的倍数。0x08001000正确,0x08001001错误。不同型号对齐宽度可能不同,有的32位、有的128 ......
形式 cubeide 结构 数据 flash

STM8S编译错误unable to allocate space for sections/blocks with a total

STM8S编译错误unable to allocate space for sections/blocks with a total # 欢迎使用Markdown编辑器 笔者用IAR for STM8 开发碰到很多奇怪的问题,都是因为优化等级引起的首先看这个用dubug编译错误提示:unable t ......
allocate sections 错误 unable blocks

05. STM32F1的时钟树

# 一、STM32的时钟树 ![img](https://img2023.cnblogs.com/blog/3097104/202307/3097104-20230707092258418-438177322.png) ![img](https://img2023.cnblogs.com/blog/ ......
时钟 STM 32F 05 32

STM32F103C8T6串口通信

首先来看一下需要操作的函数,以及配置的步骤: 图1 图2 Code: usart.c #include "usart.h"void ustart_Init(void ){ GPIO_InitTypeDef GPIO_Init_Ustar ; // 定义输出端口TX的结构体对象 USART_InitT ......
串口 103C F103 STM 103

使用Free Pascal开发STM32程序

说到STM32,或者说单片机、嵌入式程序的开发,我们一般都会想到C语言,但是事实上,可以进行嵌入式开发的不仅仅只有C语言,本文所要使用的Free Pascal就是这么一款可以支持多种嵌入式架构的Pascal语言编译器,本文将以STM32为例,讲述使用Free Pascal开发Arm嵌入式程序的方法。 ......
程序 Pascal Free STM 32

STM32程序的烧录方式 与 ISP一键下载

一、启动模式(Boot modes)阅读:STM32中文参考手册_V10.pdf 查看启动配置(Boot modes)。 在STM32F10xxx里,可以通过BOOT[1:0]引脚选择三种不同启动模式。 STM32三种启动模式对应的存储介质均是芯片内置的,它们是:1)用户闪存 = 芯片内置的Flas ......
方式 程序 STM ISP 32

GPIO口的推挽输出与开漏输出

https://baijiahao.baidu.com/s?id=1609057502892097103&wfr=spider&for=pc https://zhuanlan.zhihu.com/p/532628463 电路中加上拉电阻或下拉电阻的目的是确定某个状态电路中的高电平或者低电平。 > 上 ......
GPIO

04. STM32F1的启动文件

# 一、启动模式 复位方式有三种:***上电复位***,***硬件复位*** 和 ***软件复位***。当产生复位,并且离开复位状态后,CM3 内核做的第一件事就是读取下列两个 32 位整数的值: - 从地址 0x00000000 处取出 ***堆栈指针MSP*** 的初始值,该值就是栈顶地址 - ......
文件 STM 32F 04 32

GPIO工作原理

有FT的引脚,表示可接受5V电压。 1.1GPIO工作方式 参考帖子: https://blog.csdn.net/k666499436/article/details/123845466?ops_request_misc=%257B%2522request%255Fid%2522%253A%252 ......
原理 GPIO

STM32F103 点亮LED闪烁与仿真

今天给大家分享一下STM32 流水灯简单的仿真吧,我感觉这个提供有用的,但是自己也是第一次使用,主要是感觉曲线很高级。在PWM中查看脉宽很有用。 code: led.c #include "led.h"#include "delay.h"/*GPIO的控制寄存器的配置1、配置输出引脚2、打开对应的输 ......
F103 STM 103 32F LED

STM32 串口采用DMA方式收发

一直都没有整理STM32 DMA应用,这篇文章算是抛砖引玉吧,欢迎拍砖。 本人QQ 330952038,欢迎交流学习 什么是DMA —- Directional Memory Access, 直接存储器存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过D ......
串口 方式 STM DMA 32

STM32 HAL库中串口空闲中断+DMA 实现串口数据的不定长接收

本文开发环境: MCU型号:STM32F051R8T6IDE环境: MDK 5.25代码生成工具:STM32CubeMx 5.2.0HAL库版本:v1.10.0(STM32Cube MCU Package for STM32F0 Series) 本文内容: 不定长数据接收的原理串口接收中断的配置串口 ......
串口 空闲 数据 STM HAL

STM32F103移植CH32F103C8T6内部FLASH速度慢问题解决办法

STM32F103移植CH32F103C8T6内部FLASH速度慢问题解决办法 博主做项目一直采用STM32F103C8T6,近期因为元器件涨价博主决定换单片机,于是瞄上了江苏沁恒的CH32F103C8T6,这款单片机几乎不需要修改一个代码便能移植项目(PACK导入编译直接下载那种),而且代码执行速 ......
F103 103 32F 速度 办法

【STM32】使用STM32提供的DSP库进行FFT(附详细代码)

最近,因为项目需要在STM32F103系列处理器上,对采集的音频信号进行FFT运算,然而STM32F103毕竟不是STM32F4系列的处理器,对于一般的FFT运算程序还是比较缓慢的。 幸亏官方提供了针对FFT的官方库,但是去官网找了半天居然找不到那个库的下载,好像官方早就把那个库下架了,估计是为了给 ......
STM 代码 32 DSP FFT

STM32CubeMx LL库BUG之一

STM32CubeMx是目前最新的V5.5 STM32F407,输出LL库,使用FreeRTOS, 任务堆栈大小错误: 在STM32CubeMx上任务堆栈的单位是word,即4个byte。但是实际上这里的单位是byte,就是说你设置256的话(即1024 bytes),实际上给你生成的代码只有256 ......
CubeMx STM BUG 32

STM32F103内部FLASH及地址表

在我们应用开发时,经常会有一些程序运行参数需要保存,如一些修正系数。这些数据的特点是:数量少而且不需要经常修改,但又不能定义为常量,因为每台设备可能不一样而且在以后还有修改的可能。将这类数据存在指定的位置,需要修改时直接修改存储位置的数值,需要使用时则直接读取,会是一种方便的做法。考虑到这些数据量比 ......
地址 FLASH F103 STM 103

STM32HAL库使用SPI驱动1.44寸TFTLCD

关于STM32F4单片机,使用HAL库自带的SPI,驱动TFTLCD屏幕的资料网上好像不太多,正好最近我做了这项工作,把成果分享给大家。我的代码实现了这些功能:任意坐标画点,指定首尾坐标画线,画方框,指定区域显示彩图,显示16* 16或者12* 12的汉字、ASCII码,并附带ASCII码表与少量的 ......
TFTLCD 1.44 STM HAL SPI

基于STM32封装的HTTP请求

使用STM32封装HTTP协议 通过封装HTTP头,向服务器发送GET请求,通过GET请求上传数据,并获取返回值 #include <string.h> #include <stdio.h> #include <stdint.h> char text[30]; char temp[10]; /** ......
HTTP STM 32

cJSON在STM32中的应用

写在前面: 将JSON应用在STM32上面已经很普遍了,但还是有很多问题在网上找不到答案,毕竟自己造轮子和找轮子造车还是有点差别。 今天就总结一下最近在STM32上使用cJSON所遇到的一些问题。 正文开始线 什么是cJSON: JSON的C语言版,一种常用的轻量级数据交换格式,详情见 JSON介绍 ......
cJSON STM 32

STM32F0 HAL库软件模拟串口发送数据

试验STM32F0官方提供的例程的时候,希望看到程序中某些变量的值,但是程序中往往没有串口发送部分,自己加又非常麻烦。 而点亮LED的程序基本上每个例程都有。所以用点亮LED引脚模拟串口发送数据就很方便,不用再去初始化串口IO,初始化串口等等。 /** * @brief 软件模拟串口发送数据 * @ ......
串口 数据 软件 STM 32F

stm32按键 长按 短按 函数 一

在stm32工程中,长按和短按的代码书写, 调用的读取按键状态的底层函数。封装成的按键函数代码。下面是函数的头文件,和.c文件的代码。使用定时器来扫描按键。 #define KEY_ON 1#define KEY_OFF 0#define KEY_NULL 0#define KEY_SHORT 1# ......
按键 函数 stm 32

STM32的IIC存储和读取整形数据

STM32的IIC存储和读取整形数据, 下面的程序代码是使用stm32F03ZET6的I2C1(PB6,PB7)和AT24C02的EEPROM来测试的。希望对于需要的朋友有帮助。 主要代码如下: #include "delay.h"#include "stm32f10x.h"#include "us ......
数据 STM IIC 32

STM32 用定时器产生1Mhz 脉冲,

STM32 用定时器产生1Mhz 脉冲,PWM宽度可调,四路输出 源码:记得要加入文件 gpio rcc tim 等c文件 #include "stm32f10x_conf.h" void GPIO_CFG(void); void RCC_CFG(void); void TIM_CFG(void); ......
定时器 脉冲 1Mhz STM Mhz

STM32CubeMX ADC单通道和多通道DMA转换

ADC单通道DMA转换 主要选项说明(绝大部分工程设置下面参数即可): Clock Prescaler:ADC时钟;时钟不超过36M(从ABP2时钟分出)。 Resolution:分辨率;例如我们选12bits,即使把3.3V电压分成2^12。不可测量超过3.3V的电压,必须分压。 Data Ali ......
通道 CubeMX STM ADC DMA

EC11旋转编码器、stm32f103驱动程序

1、EC11手册的要点 注意:旋转的速度、RC滤波 手册中推荐的电路(已含有RC滤波): 输出波形特点: 2、硬件电路 加上RC滤波电路 做法是两个端点都采用10pF电容接地,10KΩ电阻接VCC。 实测100pF电容也行。 用示波器看看波形有无噪声 另外,看看不同旋转速度时的延时要求(具体见下面的 ......
编码器 驱动程序 编码 程序 f103

【STM32+cubemx】0024 HAL库开发:IAP(在应用编程)的实现

IAP在应用编程(In-Application Programming),指的是MCU在运行应用程序时,能接收新的烧写文件,并更新到自身的程序存储器中。即可以在应用程序运行时在线升级。 本节我们通过一个简单的例子,来实现STM32的IAP功能。这个例子有两部分程序,boot部分包含IAP功能,运行后 ......
cubemx 0024 STM HAL IAP