|
发表于 2013-6-13 15:13:58
|
显示全部楼层
我的M051PWM没输出,我看了所有 的配置都对的是那的问题
P2_MFP &= ~(P20_AD8_PWM0 |P22_AD10_PWM2);
P2_MFP |= (PWM0|PWM2); //使能P2.0~P2.3为PWM输出
P2_PMD &= ~Px0_PMD; //配置P2.0,P2.2为推挽输出
P2_PMD |= Px0_OUT;
P2_PMD &= ~Px2_PMD;
P2_PMD |= Px2_OUT;
APBCLK |= PWM01_CLKEN|PWM23_CLKEN; //使能PWM0,2时钟
CLKSEL1 = PWM_CLOCK_SOURCE; //选择PWM0,2时钟源HCLK/12MHz
PPRA = PWM_PRESCALAE;//选择PWM0,2时钟预分频
CSRA = PWM_CLOCK_DIVIDER; //选择PWM0,2时钟分频
CNR0A =CNR2A =PWM_CNR_VALUE; //PWM0,2计数值PWM_CNR_VALUE
CMR0A =CMR2A = PWM_CMR_VALUE; //PWM0,2比较值 PWM_CNR_VALUE
CAPENRA=0x00; //禁能捕获功能
PCRA |= 0x00080008 | PWM_OUTPUT_INVERT ; //PWM0,2自动重装载
PIERA |=PWMIE2 //使能PWM0~3中断
|PWMIE0;
NVIC_ISER |= PWMA_INT; //使能PWM0~3中断
POEA = PWM_OUTPUT_ENABLE; //PWM输出使能
PCRA |= PWM_ENABLE; //PWM使能,启动 |
|