我用f2812的比较单元实现pwm输出有问题,我的对寄存器初始化代码如下面所示,这里我采用比较单元输出pwm波的同时,也采用了通用定时器1的比较输出,在运行程序时,通用定时器的比较输出是正常的,但是用比较单元pwm输出引脚没现象!郁闷,请高手指点,是不是哪里设置有问题???<br /><br />EALLOW;<br />GpioMuxRegs.GPAMUX.bit.T1PWM_GPIOA6 = 0x0ff;//使能通用时钟1比较输出引脚<br />EDIS;<br /><br />EvaRegs.GPTCONA.bit.TCOMPOE = 1;<br />EvaRegs.GPTCONA.bit.T1PIN = 1;<br />EvaRegs.T1PR = 32763;//时钟1的周期值为T1PR + 1<br />EvaRegs.T1CMPR = 10000; //比较值设置<br /><br />//比较单元寄存器初始化<br />EvaRegs.CMPR1 = 32763;<br />EvaRegs.CMPR2 = 32763;<br />EvaRegs.CMPR2 = 32763;<br />EvaRegs.ACTR.all = 0x0666;<br />EvaRegs.DBTCONA.all = 0;<br />EvaRegs.COMCONA.all = 0xA6E0;<br /><br />EvaRegs.T1CNT = 0; //通用时钟1计数值置为0<br />EvaRegs.T1CON.all = 0X1742;<br />//时钟1控制,采用连续递增方式,预定标为128,内部时钟,使能比较,使用自己的周期值<br />EvaRegs.T1CON.bit.TENABLE = 0; //先关时钟,在后面再开<br />EvaRegs.T1CON.bit.TCLD10 = 1;<br /> |
|