一、目的
将dSPIC33EP32MC204高速PWM设置成独立工作模式
二、代码
PTPER = 60000;//主控时基周期寄存器(值越大,PWM频率越小,周期越大)
PHASE1 = 0;//PWM1H 主相移寄存器 (调节相移,也就是PWMXL波形之间的时间差)
SPHASE1 = 30000; // PWM1L副相移2000*Tosc=2000/120M=16.7us
PDC1 = 6000;//PWM1H 发生器占空比寄存器 (可调节占空比值),这里设置占空比位0.2,只要PDC1小于PTPER就有死区,
SDC1 = 6000; // PWM1L 发生器占空比
DTR1 = 0;//PWM 死区寄存器,设置正死区时间为0us,0.05TPWM
ALTDTR1 = 0;//PWM 备用死区寄存器,设置正死区时间为0us,0.05TPWM
PWMCON1 = 0x0000;//PWM 控制寄存器
PTCON2 = 0x0001;
//PWM 时钟分频比选择寄存器,0x0000预分频比1:1;0x0001预分频比1:2
PTCON = 0x0000; // 禁止PWM
三、问题
1 编译失败,在XC16中的P33EP32MC204.h没有对SDCX、SPHASEX寄存器的声明;
2 dsPIC33EP32MC204的数据手册和MPLAB X IDE都没有SDCX、SPHASEX寄存器的地址说明,但是在高速PWM的手册又有相关说明,所以该芯片的PWM到底能够工作在独立工作模式呢?
3 如果能够工作在独立模式,应该如何设置?如果不能,那哪个芯片可以工作在独立模式? |