1、STM32F407ZGT6的通用定时器&PWM输出简介
STM32F407ZGT6有高级定时器、通用用定时器、基本定时器,不管什么类型的定时器都有定时的功能,不管什么类型的定时器都有时基单元。通用定时有TIM2~TIM5,TIM9~TIM14。
通用定时器和基本定时器的最主要的区别是:是否有“捕获/比较通道”(capture/compare channels)。
“捕获/比较通道”顾名思义,可以是“输入捕获功能”,可以是“输出比较功能”,“捕获/比较通道”的功能只能是“捕获”或者“比较”两者一种。
2、PWM简介
占空比:IO口的输出脉冲的高电平时间宽度占整个脉冲周期的百分比。PWM的主要作用是调节占空比。
常见:手机背光调节、呼吸灯、手机马达震动强度调节。
3、STM32F407ZGT6的通用定时器TIM10/TIM11 和TIM13/TIM14的框图讲解
通用定时器TIM10/TIM11 和TIM13/TIM14 的时基单元和基本定时器一致,本章节主要分析“比较输出”功能,屏蔽掉了“捕获输入”部分的框图。
“捕获比较寄存器”也有“缓冲”。
PWM占空比调节就是属于“比较输出”中的一个功能,该功能的工作原理如下:
- 提示:“捕获/比较寄存器1”对应下图的CCR1(capture/compare register 1),该寄存器是16位的。
- CNT在时钟节拍的基础下进行自增,CNT的值小于CCR1的值时,输出一个“电平”。
- CNT在时钟节拍的基础下进行自增,CNT的值大于等于CCR1的值时,输出一个“电平”。
- CNT的值计数到ARR的值时,则溢出,从0开始从新计数自增。
总结1:“比较输出”就是CNT寄存器不断的和CCR1进行比较,同时和ARR进行比较,根据比较的结果,输出“相应的电平”。
总结2:通过调节ARR的值可以调节输出脉冲的脉冲周期
总结3:通过调节CCR1的值可以调节占空比
4、通用定时器TIM10/TIM11 和TIM13/TIM14的寄存器
通用定时器TIM10/TIM11 和TIM13/TIM14的CR1、CNT、PSC、ARR寄存器和基本定时器6/7的一样。
4.1、TIM10/11/13/14 状态寄存器 (TIMx_SR)
位 1 CC1IF 捕获/比较 1 中断标志 (Capture/compare 1 interrupt flag)
如果通道 CC1 配置为输出:
当计数器寄存器的值与捕获/比较寄存器的值匹配时,此标志由硬件置 1。但需要通过软件清零。
0:不匹配。
1: TIMx_CNT 计数器的值与 TIMx_CCR1 寄存器的值匹配。当 TIMx_CCR1 的值大于 TIMx_ARR的值时, CC1IF 位将在计数器发生上溢时变为高电平。
位 0 UIF 更新中断标志 (Update interrupt f