
定时器的分类 16 bit General Purpose Timer 16 bit Advanced Control Timer 16 bit Basic 定时器的区别 ![]() 通用定时器TIM2~TIM5的特点 位于低速的APB1总线 16位向上,向下,中心对齐计数模式,自动装载计数器TIMx_CNT 16位可编程预分频器TIMx_PSC,计数器时钟频率的分频系数为1~65535之间的任何数值 4个独立通道TIMx_CH1~4,这些通道可以用作:输入捕获,输出比较,PWM生成,单脉冲输出 可使用外部信号TIMx_ETR控制定时器和定时器互联的同步电路 可以产生中断或DMA请求(6个独立的IRQ或DMA请求生成器):更新,触发事件,输入捕获,输出比较,支持针对定位的增量编码器和霍尔传感器电路,触发输入作为外部时钟或者按周期的电流管理 可用于测量输入信号的脉冲长度或产生输出波形PWM 计数器模式 向上计数 从0计数到加载值,循环往复 向下计数 从加载值减到0,循环往复 中央对齐模式 从0计数到加载值再回到0,循环往复 定时器的框图 ![]() 定时器的时钟来源 ![]() ![]() 时基单元 首先将CK_PSC进行预分频,得到CK_CNT时钟,这就是给CNT计数器的最终时钟 在这个时钟下,CNT计数器+/-地进行计数这里的+/-可以在触发控制器中进行配置 输入捕获 对引脚的电平进行捕获,例如上升沿和下降沿我都去捕获,上升沿来临时,我在捕获/比较1寄存器中记录下当前计数值,在下降沿来临时,我再次在捕获/比较1寄存器中记录下当前计数值,这样,两个数值相减,我就能知道脉冲宽度了 同一个通道,只能作为输入捕获或输出比较 输出比较 比如我们在捕获/比较1寄存器中设置一个值50,计数器从上100往下到0计数,到大于50时输出高电平,小于50时输出低电平,这样就可以产生PWM波 这样可以很方便地修改占空比(就是这里的50)和周期(就是这里的100) ———————————————— 版权声明:CodeForCoffee |
经验分享 | STM32U5系列TIMER+DMA+DAC应用演示
经验分享 | STM32G4 UART+TIMER+DMA应用示例
经验分享 | STM32定时器同步启动示例及应用提醒
经验分享 | STM32 TIMER+DMA输出PWM异常二案例
经验分享 | 更改STM32定时器周期后的输出疑问分析
基于定时器捕获测量脉宽的应用示例
狂欢三】STM32C031使用TIM定时器DMA方式实现WS2812彩灯输出(三)
【狂欢三】STM32C031使用TIM定时器DMA方式实现PWM输出(二)
【狂欢三】STM32C031使用TIM定时器PWM输出
stm32使用定时器触发dma传输,启动dma没反应的几种情况的解决方法