
stm32入门学习
文章平均质量分 90
stm32入门学习
又熟了
一般栏目里的都是一系列的按照循序学的
展开
-
FLASH闪存(擦除、编译)
STM32F1系列的FLASH包含程序存储器、系统存储器和选项字节三个部分,通过闪存存储器接口(外设)可以对程序存储器和选项字节进行擦除和编程读写FLASH的用途:**利用程序存储器的剩余空间来保存掉电不丢失的用户数据 **通过在程序中编程(IAP),实现程序的自我更新在线编程(In-Circuit Programming – ICP)用于更新程序存储器的全部内容,它通过JTAG、SWD协议或系统加载程序(Bootloader)下载程序。原创 2025-05-12 19:48:29 · 769 阅读 · 0 评论 -
WDG看门狗(独立看门狗和窗口看门狗)
WDG(Watchdog)看门狗看门狗可以监控程序的运行状态,当程序因为设计漏洞、硬件故障、电磁干扰等原因,出现卡死或跑飞现象时,看门狗能及时复位程序,避免程序陷入长时间的罢工状态,保证系统的可靠性和安全性看门狗本质上是一个定时器,当指定时间范围内,程序没有执行喂狗(重置计数器)操作时,看门狗硬件电路就自动产生复位信号STM32内置两个看门狗 独立看门狗(IWDG):独立工作,对时间精度要求较低 窗口看门狗(WWDG):要求看门狗在精确计时窗口起作用。原创 2025-05-09 20:29:31 · 1068 阅读 · 0 评论 -
PWR电源控制/睡眠/停止/待机模式
PWR(Power Control)电源控制PWR负责管理STM32内部的电源供电部分,可以实现可编程电压监测器和低功耗模式的功能可编程电压监测器(PVD)可以监控VDD电源电压,当VDD下降到PVD阀值以下或上升到PVD阀值之上时,PVD会触发中断,用于执行紧急关闭任务低功耗模式包括睡眠模式(Sleep)、停机模式(Stop)和待机模式(Standby),可在系统空闲时,降低STM32的功耗,延长设备使用时间在使用低功耗模式的时候不要只考虑如何进入低功耗,还要考虑怎么解除低功耗模式。原创 2025-04-22 21:22:50 · 620 阅读 · 0 评论 -
Unix时间戳/BKP备份寄存器/RTC实时时钟
BKP(Backup Registers)备份寄存器BKP可用于存储用户应用程序数据。当VDD(2.0~3.6V)电源被切断,他们仍然由VBAT(1.8~3.6V)维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位TAMPER引脚产生的侵入事件将所有备份寄存器内容清除(可用于拆解保护)RTC引脚输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲存储RTC时钟校准寄存器用户数据存储容量: 20字节(中容量和小容量)/ 84字节(大容量和互联型)原创 2025-04-20 22:07:47 · 657 阅读 · 0 评论 -
I2C通信协议与MPU6050陀螺仪
MPU6050是一个6轴姿态传感器,可以测量芯片自身X、Y、Z轴的加速度、角速度参数,通过数据融合,可进一步得到姿态角(欧拉角),常应用于平衡车、飞行器等需要检测自身姿态的场景3轴加速度计(Accelerometer)(测力计):测量X、Y、Z轴的加速度3轴陀螺仪传感器(Gyroscope):测量X、Y、Z轴的角速度如果再集成一个3轴的磁场传感器,测量XYZ轴的磁场强度,那就叫做九轴姿态传感器。原创 2025-04-08 19:39:50 · 922 阅读 · 0 评论 -
USART串口数据包(HEX和文本发送接收)
/声明为外部可调用,不需要指定个数//接收数据包的缓冲区#endif//声明为外部可调用,不需要指定个数//接收字符缓存区//写入数据#endif。原创 2025-02-16 02:52:00 · 289 阅读 · 0 评论 -
USART串口协议
没解释用来配置同步时钟输出的,包括时钟是不是要输出,时钟的极性相位等参数//开启RXNE标志位的通道//开启USART到DMA的触发通道//发送数据//接收数据//获取标志位状态//GPIO初始化,输出只需要初始化一个//波特率(我们给出函数会自己计算)//硬件流控制(直接复制参数名称,开启代码提示CTRL+ALT+空格)//检验位//停止位,0.5、1、1.5、2//字长,可选8或9位//开启//发送一个Byte。原创 2025-02-14 21:15:37 · 1244 阅读 · 0 评论 -
DMA直接存储器存取
DMA(Direct Memory Access)直接存储器存取DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源12个独立可配置的通道: DMA1(7个通道), DMA2(5个通道)每个通道都支持软件触发和特定的硬件触发STM32F103C8T6 DMA资源:DMA1(7个通道)//给全局变量赋值,方便下面修改DMA使用//外设站点:起始地址//数据宽度//是否自增//存储器站点:起始地址//数据宽度//是否自增。原创 2025-02-11 02:40:58 · 1046 阅读 · 0 评论 -
ADC模数转换器概念函数及应用
ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间输入电压范围:0~3.3V,转换结果范围:0~409518个输入通道,可测量16个外部和2个内部信号源(16个外部就是16个GPIO口,2个内部信号源是内部温度传感器和内部参考电压规则组(常规使用)和注入组(用于突发事件)两个转换单元模拟看门狗自动监测输入电压范围。原创 2025-02-07 02:46:13 · 873 阅读 · 0 评论 -
TIM编码器接口函数及应用
手册14.3.12编码器接口模式有相关介绍Encoder Interface 编码器接口编码器接口可接收增量(正交)编码器的信号,根据编码器旋转产生的正交信号脉冲,自动控制CNT自增或自减,从而指示编码器的位置、旋转方向和旋转速度每个高级定时器和通用定时器都拥有1个编码器接口两个输入引脚借用了输入捕获的通道1(CH1)和通道2(CH2)//开启GPIO通道//如果外部模块默认输出高电平,就配置上拉输入,默认输入高电平//如果外部模块默认输出低电平,就配置下拉输入,默认输入低电平。原创 2025-01-24 17:19:10 · 593 阅读 · 0 评论 -
TIM输入捕获函数说明及应用
IC(Input Capture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,将当前CNT的值锁存到CCR中(将当前CNT的值读取出来,写入CCR中),可用于测量PWM波形的频率、占空比、脉冲间隔(和频率差不多)、电平持续时间(和占空比差不多)等参数每个高级定时器和通用定时器都拥有4个输入捕获通道可配置为PWMI模式,同时测量频率和占空比可配合主从触发模式,实现硬件全自动测量//ic因为4个通道共用一个函数,所以多出一个参数用于具体选择配置哪个通道的void。原创 2025-01-22 12:41:37 · 828 阅读 · 0 评论 -
TIM输出比较理论及实操
OC(OutputCompare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出的功能PWM(PulseWidthModulation)脉冲宽度调制在具有惯性的系统(比如电机,电机断电后不会立马停止)中,可以通过对一系列脉冲的宽度进行调制,来等效地获得所需要的模拟参量,常应用于电机控速等领域。原创 2025-01-20 14:21:56 · 1076 阅读 · 0 评论 -
TIM定时中断
TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器,预分频器,自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能根据复杂度和应用场景分为了高级定时器、通用定时器、基本定时器三种类型计数器:用来执行计数定时的一个寄存器,每来一个时钟,计数器加1,分频器:可以对计数器的时钟进行分频,让这个计数更加灵活。原创 2025-01-16 20:40:52 · 829 阅读 · 0 评论 -
stm32中断定义流程及应用
EXTI(Extern Interrupt)外部中断.EXTI可以监测指定GPIO口的电平信号,当其指定的GPIO口产生电平变化时,EXTI将立即向NVIC发出中断申请,经过NVIC裁决后即可中断CPU主程序,使CPU执行EXTI对应的中断程序**支持的触发方式:**上升沿/下降沿/双边沿/软件触发支持的GPIO口:所有GPIO口,但相同的Pin不能同时触发中断**通道数:**16个GPIO_Pin,外加PVD输出、RTC闹钟、USB唤醒、以太网唤醒(总共20个通道)中断响应事件响应。原创 2025-01-12 21:23:13 · 1035 阅读 · 0 评论 -
OLED调试工具(函数及使用)
.c的文件会用到这些数据。原创 2025-01-11 01:44:13 · 678 阅读 · 0 评论 -
GPIO输入及两个应用案例
/该.c文件用于定义函数//定义LED初始化函数//定义一个结构体//打开0口和1口//灯亮//灯灭//灯亮//灯灭//LED1取反操作//读取当前LED的输出状态}else{//LED2取反操作}else{//初始化按键//这里需要读取按键所以使用GPIO_Pin_IPU(上拉输入)//输入模式下这个参数其实是没用的//获取按键的信息(按键的检测)//读取到0则表示按键按下//延时消除抖动。原创 2025-01-08 21:37:20 · 896 阅读 · 0 评论 -
GPIO口的常用函数说明及简单应用
注:BitAction是一个枚举类型我们把LED灯的脚反插,这样LED就是高电平点亮的方式,LED也是正常闪烁的。说明在推挽模式下,高低电平都是有驱动能力的。换成开漏模式,发现LED不亮,说明开漏模式的高电平时没有驱动能力的,LED换回正常的接法,发现正常亮起,说明开漏模式的低电平有驱动能力。原创 2025-01-06 19:29:13 · 1066 阅读 · 0 评论 -
stm32新建工程
导入User,Start,Library文件总结在项目的目录下创建三个文件夹命名为User,Start和Library,然后按照如下操作在固件库的devicesport——>arm内找到启动文件,再找到stm32f10x和system的两个文件,将其复制到Start文件夹下,再找到coresupport的两个文件(core_cm3.h)并粘贴到Start文件夹下,这样start文件的文件就复制完成了找到标准外设驱动的文件(src下和inc下),全部复制到Library文件夹下。原创 2025-01-06 01:27:15 · 1291 阅读 · 0 评论 -
stm32入门元件介绍
面包板:通过简单插接的方式,将元件模块插在面包板的孔洞中,再借助跳线和飞线,即可完成各式各样的硬件电路,根据自己的设计思路,可随意连接和更改电路,无需焊接,使用方便,是电子爱好者的神器。原创 2025-01-04 14:10:46 · 532 阅读 · 0 评论 -
stm32学习
学习的内容是根据哔哩哔哩平台的江协科技stm32教学。本栏目的内容是对于stm32入门的学习。栏目的内容是笔记的分享,重在记录学习。同时可以一起解决stm32的问题。原创 2025-01-04 13:13:48 · 206 阅读 · 0 评论