ARM驱动学习之PWM
1.分析原理图:
GPD0_0
XpwmTOUT0定时器0
2.定时器上的资源:
1.5组32位定时器
2.定时器产生内部中断
3.定时器0,1,2可编程实现pwm
4.定时器各自分频
5.TCN--,TCN = TCMPBN
6.分频器 24-2
7.24.3.4 例子:
1.开启自动重载
2.设置TCNTBn和TCMPBn寄存器
3.手动设置
4.设置自动翻转,更新TCNTBn和TCMPBn寄存器
5.在此设置TCNTBn和TCMPBn寄存器(双缓冲)
6.定时器开启
7.TCNTBn=TCMPBn寄存器,反转
8.TCNTn = 0,产生中断
9.自动重载
10.TCNTBn--,TCNTBn=TCMPBn寄存器,反转
11.TCNTBn = 0,产生中断
12.自动重载,产生中断,关闭自动重载。
13.TCNTBn--,TCNTBn=TCMPBn寄存器,反转
14.关闭自动重载,不再产生中断
15.自动重载关闭,停止
8.简单用法
1.GPD0_0设置为PWM输出GPD0CON[0] = 0X02
2.预分频:TCFG0 = XX(0-255),TCFG1 = XX(1,2,4,8.16)
3.占空比:TCMPB0<TCNTB0
4.设置自动重载,开启定时器。
5.TCON寄存器设置停止PWM.