本文是对ARM的PWM产生进行详细的解说,希望能对大家有所帮助。对整个流程,我对此做了一个图,
图中的标号是一个寄存器设置流程,
步骤:
1.需要对IO口的复用功能进行选择,这里选择PWM2
2.对系统时钟的分频进行设置,在TCFG0寄存器中进行系统分频的大小设置
3.对定时器内部的分频进行设置,在TCFG1寄存器中进行分频的大小进行设置
4.PWM波周期的设置,TCNTB寄存器,其值会加载到TCNT每遇到一个下降沿其值减一
5.PWM占空比的设置,TCMPB寄存器,TCNT每次减一都与占空比值进行比较,当两值相等时,其输出信号变化
6.手动的更新TCNTB,TCMPB。第一次需要手动的把设置的周期值和占空比值更新到TCNT,TCMP寄存器中,之后关闭手动更新,由定时器自动加载。
7.自动加载,TCON寄存器
8.启动定时器,使其这个模块开始工作