ST公司的STM8单片机的TIM1定时器,是一个16位高级控制定时器,可用于实现基本的定时,PWM波的产生,这里主要分析下基本的计时功能。
我们先看ST提供的库函数中TIM1定时器的初始化函数
void TIM1_TimeBaseInit(uint16_t TIM1_Prescaler,
TIM1_CounterMode_TypeDef TIM1_CounterMode,
uint16_t TIM1_Period,
uint8_t TIM1_RepetitionCounter)
其中,TIM1_Prescaler是一个16位的分频配置,可输入值为0-65535,这个值最终是写入TIM1_PSCR寄存器的,而我们计算定时器的频率公式为:fcnk = fsys/(PSCR[15:0]+1),其中fsys为系统时钟频率,PSCR[15:0]为TIM1_PSCR寄存器的16位值;