我在用开发板调试的时候发现在MCPWM初始化时,函数void MCPWM_init(void)中有MCPWM_InitStructure.AUEN = MCPWM0_ALL_AUPDAT; /*自动加载使能*/。但是在MCPWM_Init(&MCPWM_InitStructure)中并没有MCPWM0_AUEN=MCPWM_InitStruct->AUEN这样的赋值。
因此,我在函数void MCPWM_init(void)中最后加入了MCPWM0_AUEN = MCPWM0_ALL_AUPDAT;
如:
/*************************MCPWM 12路PWM输出同步操作**********************************/
MCPWM0_CNT0 = 0; //清除CNT0计数器
MCPWM0_CNT1 = 0; //清除CNT1计数器
MCPWM0_UPDATE |= (BIT11|BIT27);//手动加载CNT0和CNT1到所使用的影子寄存器
MCPWM0_PRT = 0xDEAD;//解除写保护寄存器
MCPWM0_AUEN = MCPWM0_ALL_AUPDAT; //添加行
MCPWM0_TCLK |= BIT2;//MCPWM 工作时钟使能
MCPWM0_PRT = 0x0;
但是,测试此时PWM信号未输出。未添加此行代码,则PWM信号能正常输出。
因此非常疑惑! |