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