
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
🚀 CPU还在当"搬运工"?STM32 DMA直接存储器存取,让数据自动流转,彻底解放CPU!本文从存储器映像、DMA框图到基本结构,手把手拆解7个通道的触发逻辑、数据宽度对齐、地址自增等核心参数。重点讲透ADC扫描模式+DMA的经典配合,帮你避开"通道选错""计数器写不进"等常见大坑。零代码纯干货,一篇搞懂DMA到底怎么搬、什么时候搬、搬完怎么办!

摘要: STM32的ADC(模数转换器)是将模拟信号(如电压、温度)转换为数字量的关键模块,12位分辨率(0~4095),量程0~3.3V。核心要点包括: 通道分类:18通道(16外部+2内部),C8T6仅10个外部通道(PA0~PB1)。 转换模式:规则组(常规采集)与注入组(紧急插入),支持单次/连续、扫描/非扫描4种组合,扫描模式建议搭配DMA。 工作原理:逐次逼近型(SAR),转换时间=采

本文详细讲解了STM32编码器接口的原理和应用,重点介绍了如何使用STM32F103C8T6的标准库V3.5.0配置编码器接口实现电机测速。文章从编码器接口的基本概念、正交信号原理、三种工作模式讲起,详细解析了配置步骤和相关库函数,并给出了完整的代码实现。特别强调了PSC必须设为0(不分频)、ARR设为最大值、返回类型要用int16_t等关键注意事项,以及四倍频模式提高精度的方法。通过硬件自动计数

本文基于STM32F103C8T6和标准库V3.5.0,详细讲解了PWMI(PWM输入)模式的原理与实现。PWMI通过单个定时器的双通道协同工作,可同时测量输入信号的频率和占空比:通道1捕获上升沿并清零计数器(获取周期),通道2捕获下降沿(获取高电平时间)。文章系统梳理了配置流程的7个关键步骤,深入解析了相关库函数,并提供了完整的代码实现,包括初始化函数和频率/占空比计算公式。特别强调了实际开发中

摘要: 本文系统介绍了STM32定时器的输入捕获功能,重点解析了其硬件原理、主从触发模式及频率测量方法。输入捕获通过硬件自动记录信号边沿时刻的计数器值(CNT→CCR),适用于测量PWM频率、占空比等场景。文章对比了测频法(高频适用)和测周法(低频适用),并详细阐述了单通道测频率与双通道PWM输入模式(同时测频率和占空比)的配置逻辑,强调主从触发模式中“自动清零CNT”的关键作用。通过实践分析与参

本文详解 STM32 通用定时器 TIM2 的输出比较(OC)配置与 PWM 输出实战。从输出比较核心原理出发,梳理了 TIM2 四个通道(CH1~CH4)对应的 GPIO 引脚(PA0~PA3)及重映射方式,并逐个讲解了初始化、预装、极性配置、动态修改 CCR 等关键库函数的使用方法与注意事项。文中提供了基于 TIM2_CH3(PA2)的完整 PWM 初始化代码,详细注释了时钟使能、时基配置、输

本文详细解析了STM32定时器的输出比较功能与PWM原理。作者通过跑步比喻形象说明输出比较的本质是CNT计数器与CCR目标值实时比对触发硬件动作,PWM仅是其中两种工作模式(模式1/模式2)。重点厘清了有效电平与极性的关系:模式决定波形顺序,极性定义电平高低,二者配合生成所需波形。文章还给出PWM频率/占空比计算公式,并拓展其在舵机(20ms周期、0.5-2.5ms脉宽)和直流电机(需外接驱动芯片

本文系统介绍了STM32定时器中断的配置流程,以TIM2为例详细讲解了七步配置法:开启时钟、选择时钟源、配置时基单元(PSC/ARR等参数)、使能中断、配置NVIC优先级、清除标志位及启动计数器。重点解析了TIM_TimeBaseInit等核心库函数的使用方法,并强调中断服务函数中标志位清除的重要性。通过实际工程案例展示了1秒定时中断的实现,总结了常见问题排查经验。文章从理论到实践完整呈现了STM

本文系统梳理了 STM32F103 定时器(TIM)的底层原理与配置要点。从定时器四大核心功能(基本定时、输出比较、输入捕获、编码器接口)出发,详细对比了高级定时器、通用定时器与基本定时器的资源差异与总线归属;深入解析了预分频器缓冲机制、计数器溢出时序及影子寄存器(ARPE)的设计意义;给出了定时时间计算公式与时钟树来源;帮助读者理解 PSC、CNT、ARR 的协作逻辑,掌握从微秒级到近 60 秒

STM32外部中断(EXTI)配置五步法实战指南 核心要点: 配置流程:RCC开时钟→GPIO输入模式→AFIO引脚映射→EXTI参数设置→NVIC中断使能 关键函数: AFIO:GPIO_EXTILineConfig()(必用) EXTI:EXTI_Init()设置触发方式,中断服务函数必须调用EXTI_ClearITPendingBit() NVIC:NVIC_PriorityGroupCon








