一、基本定时器1. 时钟源(内部时钟CK_INT)基本定时器(TIM6和 TIM7)的时钟源来源于APB1总线时钟。使能TIM6或TIM7时钟2. 预分频器(PSC)负责对定时器输入时钟进行分频它的主要作用是通过降低定时器的输入时钟频率为定时器的计时和定时功能提供更灵活的时间控制。 TIMx_PSC寄存器是定时器的预分频器寄存器用于设置定时器的预分频因子分频因子决定了定时器的时钟频率。需要注意的是实际的分频值是TIMx_PSC1例如当TIMx_PSC寄存器的值为0时实际的分频因子的大小为 0 1 1。3. 计数器计数器通过对输入时钟(由预分频器分频后的时钟信号)记录经过的时间。计数器的计数模式有三种递增计数、递减计数、中央对齐计数但是基本定时器仅支持递增模式。4. 自动重装载器控制计数器的最大计数值从而影响定时器的溢出时间和功能行为。TIMx_ARR是自动重装载器的重装载值寄存器当TIMx_CNT寄存器等于TIMx_ARR寄存器时计数器上溢TIMx_CNT寄存器的值自 动重置为 0同时产生一个UEV更新信号。UEV事件的产生可能产生UEV事件的信号来源计数器上溢 (TIMx_CNT寄存器值TIMx_ARR寄存器值)手动产生 (将TIMx_EGR.UG位写1)产生UEV事件的信号来源是否可以产生一个UEV的更新事件取决于TIMx_CR1.UDIS位域。 TIMx_CR1.UDIS为0时允许产生更新事件TIMx_CR1.UDIS为1时则禁止产生UEV事件。二、通用定时器STM32F4xx系列的通用定时器有10个通用定时器TIM2到TIM5的框图时钟源控制器时基单元输入控制输入捕获/输出比较输出控制通用定时器TIM9和TIM12的框图通用定时器TIM10/TIM11和 TIM13/TIM14的框图使用通用定时器进行定时选择时钟源为内部时钟源(CK_INT)通过TIMx_SMCR寄存器下的SMS设置为000并且要保证ECE位为0.对时钟源CK_INT进行预分频通过TIMx_PSC设置预分频系数注意实际的预分频系数 TIMx_PSC 1设置计数器计数模式TIMx_CR1.DIR和TIMx_CR1.CMS共同作用决定计数器的计数模式。设置自动重装载器的值TIMx_ARR寄存器设置。TIMx_ARR寄存器的值更新到实际生效的影子寄存器的方式有两种取决于TIMx_CR1.ARPE手动产生一个更新事件TIMx_EGR.UG然后使能计数器时钟TIMx_CR1.CEN。PWMPulse Width Modulation简称脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的 一种非常有效的技术广泛应用在测量、通信、工控等方面。PWM的频率是指在1秒钟内信号从高电平到低电平再回到高电平的次数也就是说一秒钟PWM有多少个周期单位Hz。PWM的周期T1/fT是周期f是频率。 如果频率为50Hz 那么一个周期是20ms。占空比是一个脉冲周期内高电平的时间与整个周期时间的比例单位是% (0%-100%)PWM模式1在递增计数模式下只要TIMx_CNTTIMx_CCR1通道1便为有效状态(OC1REF1)否则为无效状态 (OC1REF0)。在递减计数模式下只要TIMx_CNTTIMx_CCR1通道1便为无效状态(OC1REF0)否则为有效状态 (OC1REF1)。PWM模式2在递增计数模式下只要TIMx_CNTTIMx_CCR1通道1便为无效状态(OCxREF0)否则为有效状态 (OCxREF1)。在递减计数模式下只要TIMx_CNTTIMx_CCR1通道1便为有效状态(OCxREF1)否则为无效状态 (OCxREF0)。PWM中断当TIMx_CNTTIMx_CCR1时TIMx_SR寄存器“捕获/比较中断标志(CC1IF)”置1如果CC1中断使能还会触发捕获/比较中断。当计数器发生溢出时如果TIMx_CR1寄存器UDIS为0允许UEV更新“更新中断标志(UIF)”置1如果UIE中断使能还会触发更新中断。