介绍
刚刚接触STM32的时候,还是以51的观点来看的,只是认为这是比51高级一点的单片机,但随着研究的深入,渐渐地发现了它功能的强大。刚刚学习了定时器的配置,按照刘火梁、杨森先生编写的《STM32库开发实践指南》编写好了程序也下载了下去,得到了应有的节目效果。那么问题来了,对于输出PWM波,怎么设置其中几个重要的寄存器TIM_TimeBaseStructure.TIM_Period 和TIM_TimeBaseStructure.TIM_Prescaler 呢?经过思考和演算,下面给出一种方法。
公式推导
假设TIM时钟源已经被配置成了72MHz,希望把一个周期配置到T,那么
172×106Prescaler⋅Period=T
如果恰好此时T为微秒级,则有
Prescaler⋅Period=72⋅T
这一下就变成了一个凑因数的问题,只要两个数都是整数,而且Period满足占空比分配就好。