
STM32学习笔记
文章平均质量分 90
了一梨
这个作者很懒,什么都没留下…
展开
-
STM32学习笔记16:USART串口数据包
数据包的作用是把一个个单独的数据打包起来,方便进行多字节的数据通信。数据包的任务就是把属于同一批的数据进行打包和分割,方便接收方进行识别。数据包有多种分割方式,比如在数据的高位添加标志位、额外添加包头包尾等,串口数据包通常使用的是额外添加包头包尾的方式。以下列举了两种数据包格式,第一种是固定包长,含包头包尾,也就是每个数据包的长度都固定不变,数据包前面是包头,后面是包尾;第二种是可变包长,含包头包尾,也就是每个数据包的长度可以是不一样的,前面是包头,后面是包尾。原创 2024-02-11 15:42:48 · 1785 阅读 · 1 评论 -
STM32学习笔记15:USART的使用
芯片型号:STM32F103RC软件开发包:标准外设库。原创 2024-02-11 00:24:15 · 1524 阅读 · 1 评论 -
STM32学习笔记14:USART基本介绍
简单双向串口通信有两根通信线(发送端 TX 和接收端 RX)TX 与 RX 要交叉连接当只需单向的数据传输时,可以只接一根通信线当电平标准不一致时,需要加电平转换芯片USART(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步收发器。原创 2024-02-09 23:14:29 · 1799 阅读 · 0 评论 -
STM32学习笔记13:ADC扫描模式+DMA
芯片型号:STM32F103RC软件开发包:标准外设库。原创 2024-01-05 14:54:48 · 3961 阅读 · 1 评论 -
STM32学习笔记12:DMA 的学习和使用
DMA(Direct Memory Access)直接存储器存取DMA可以提供外设和存储器或者存储器和存储器之间的高速数据传输,无须CPU干预,节省了CPU的资源12个独立可配置的通道: DMA1(7个通道), DMA2(5个通道),DMA2 只存在于大容量的单片机中每个通道都支持软件触发和特定的硬件触发。原创 2024-01-02 17:20:06 · 2098 阅读 · 0 评论 -
STM32学习笔记11:ADC的使用
芯片型号:STM32F103RC软件开发包:标准外设库。原创 2023-12-30 23:47:58 · 2208 阅读 · 1 评论 -
STM32学习笔记10:ADC基本介绍
ADC(Analog-Digital Converter)模拟-数字转换器ADC可以将引脚上连续变化的模拟电压转换为内存中存储的数字变量,建立模拟电路到数字电路的桥梁12位逐次逼近型ADC,1us转换时间输入电压范围:0~3.3V,转换结果范围:0~409518个输入通道,可测量 16 个外部和 2 个内部信号源规则组和注入组两个转换单元模拟看门狗自动监测输入电压范围。原创 2023-12-30 22:59:14 · 1476 阅读 · 1 评论 -
STM32学习笔记9:TIM输入捕获
IC(Input Capture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前 CNT 的值将被锁存到 CCR 中,可用于测量 PWM 波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有 4 个输入捕获通道可配置为 PWMI 模式,同时测量频率和占空比可配合主从触发模式,实现硬件全自动测量从引脚进来,有一个三输入的异或门连接在通道 1、2、3 端口。异或门的执行逻辑是当三个输入引脚中的任何一个电平翻转时,输出引脚就发生一次电平翻转。原创 2023-12-27 19:40:02 · 3944 阅读 · 1 评论 -
STM32学习笔记8:TIM输出比较
OC(Output Compare)输出⽐较输出⽐较可以通过⽐较 CNT 和 CCR 寄存器值的关系,来对输出电平进⾏置1、置0或翻转的操作,⽤于输出⼀定频率和占空⽐的 PWM 波形每个⾼级定时器和通⽤定时器都拥有4个输出⽐较通道⾼级定时器的前3个通道额外拥有死区⽣成和互补输出的功能CCR 是捕获/比较寄存器,是输入捕获和输出比较共用的。当使用输入捕获时,它就是捕获寄存器;当使用输出比较时,它就是比较寄存器。通用定时器和高级定时器都有四个输出比较的通道,可以同时输出四路 PWM 波形。原创 2023-12-25 20:50:22 · 2193 阅读 · 0 评论 -
STM32学习笔记7:TIM定时中断
原因:因为影子寄存器的原因,我们配置分频因子和自动重装载值只有在发生更新事件后在会生效,所以在执行时基初始化函数时,会手动执行一次更新事件,确保我们写入的值能立即生效,但同时会置中断标志位,导致程序刚运行就会进入一次中断。如果是在使用通用定时器或者高级定时器时,想要使用其它时钟源,则只需调用相应的函数,更改时钟源即可。PSC 和 ARR 都是16位的寄存器,所以取值都是从 0~65535,在此基础上,加 1 之后才是实际的分频值和计数值。《STM32库开发实战指南——基于野火MINI开发板》原创 2023-12-02 23:23:35 · 1394 阅读 · 1 评论 -
STM32学习笔记6:TIM基本介绍
TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在 72MHz 计数时钟下可以实现最大 59.65s 的定时,59.65s65536×65536×172MHz59.65s65536×65536×721MHz不仅具备基本的定时中断功能,而且还包含内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等多种功能。原创 2023-11-28 12:44:47 · 2111 阅读 · 1 评论 -
STM32学习笔记5:EXTI外部中断
EXTI(External interrupt/event controller)—外部中断/事件控制器,管理了控制器的 20 个中断/事件线。每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测。EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性。原创 2023-11-02 13:21:04 · 555 阅读 · 1 评论 -
STM32学习笔记4:中断概述
NVIC 是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个外设。// 中断使能寄存器// 中断清除寄存器// 中断使能悬起寄存器// 中断清除悬起寄存器// 中断有效位寄存器// 中断优先级寄存器 (8Bit wide)// 软件触发中断寄存器在配置中断的时候我们一般只用 ISER、 ICER 和 IP 这三个寄存器,ISER 用来使能中断,ICER 用来失能中断,IP 用来设置中断优先级。原创 2023-11-01 13:38:12 · 173 阅读 · 1 评论 -
STM32学习笔记3:GPIO的使用
从按键的原理图可知,这些按键在没有被按下的时候, GPIO 引脚的输入状态为低电平 (按键所在的电路不通,引脚接地),当按键按下时, GPIO 引脚的输入状态为高电平 (按键所在的电路导通,引脚接到电源)。在封装函数的过程中,我们会建立“bsp_led.c”和“bsp_led.h”两个文件,其中“bsp”即Board Support Package的缩写(板级支持包),是针对开发板而写的驱动文件,不属于STM32标准库,如果移植使用,需要更改。采用模块化编程方式,将一个个单独的功能封装后,供主函数调用。原创 2023-11-01 13:29:15 · 824 阅读 · 1 评论 -
STM32学习笔记2:GPIO框图详解
GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可读取端口的高低电平或电压,用于读取按键输入、外接模块电平信号输入、ADC电压采集、模拟通信协议接收数据等首先经过的是一对上拉下拉电阻,当我们设置上拉输入时,上拉电阻启用;设置下拉输入时,下拉电阻启用;而浮空输入时,两个电阻都不会启用。原创 2023-09-12 23:40:09 · 413 阅读 · 0 评论 -
STM32学习笔记1:寄存器的学习和使用
存储器本身不具有地址信息,它的地址是由芯片厂商和用户分配,给存储器分配地址的过程就称为存储器映射,再分配一个地址叫重映射。有特定功能的内存单元。给已经分配好地址的具有特定功能的内存单元取别名的过程叫寄存器映射。原创 2023-09-11 19:45:42 · 987 阅读 · 0 评论