1 ARR与PSC的含义
如:TIM1_PWM_Init(arr,psc); 这一语句
PSC:
首先应该明白,系统时钟是经过预分频器之后才将时钟给定时器,预分频器完整写法为 (Prescaler value),故简写为psc;
故 计数器时钟频率= fCK_PSC(系统时钟) / (PSC[15:0] + 1)。
假设系统频率为72M,若不经过分频直接给计数器则计数器频率为72M,则10位的定时器最大值为65536个脉冲就溢出了。定时时间=计数个数*计一个数的时间;
而计数个数最大为65536,故只有通过提高计一个数所用的时间才行(一个脉冲时间),计数周期=(psc+1)/72M,故唯一办法就是提高预分频psc的值。
比如设置psc为71,意思就是每72个脉冲才输出一个脉冲给定时器,一个定时脉冲时间为(71+1)/72M=1us;