keil状态翻转问题

pwm输出,怎么用一个变量状态翻转控制PWM输出

void pwmInit()
{
if(mode==1)
{// 配置P12为timer1 pwm输出端口
P1_MD0 &= ~0x30;
P1_MD0 |= 0x20;
P1_AF0 &= ~0x30;
P1_AF0 |= 0x20;

// 配置频率为1kHZ的PWM
TMR1_PRL  = 250;    // 周期值
TMR1_PWML = 100;  // 占空比%
TMR1_CNTL = 0x00;   // 清除计数值
TMR1_CONH = 0x20;   // 使能计数中断
TMR1_CONL = (((0x7&0x7) << 5)|((0x7&0x7) << 2)|((0x2&0x3) << 0));
    }   // 128分频,系统时钟,PWM模式
    else 
    {
    P1_MD0 &= ~0x30;
P1_MD0 |=  0x20;
P1_AF0 &= ~0x30;
P1_AF0 |=  0x20;

// 配置频率为1kHZ的PWM
TMR1_PRL  = 250;    // 周期值
TMR1_PWML = 0;  // 占空比%
TMR1_CNTL = 0x00;   // 清除计数值
TMR1_CONH = 0x20;   // 使能计数中断
TMR1_CONL = (((0x7&0x7) << 5)|((0x7&0x7) << 2)|((0x2&0x3) << 0));
    }

}

void keypros()
{
P0_MD1 &= 0x03; //P04按键
P0_PU |= 0x10;
if(P04==0) //检测按键是否按下
{
delay_ms(10); //消除抖动 一般大约10ms
if(P04==0) //再次判断按键是否按下
{
P12=
P12;
}
while(!P04); //检测按键是否松开
}

    }

没有报错,但就是不能状态翻转

有没有好方法可以翻转

PWM翻转?你是不是需要控制pwm是否输出?你该找一下pwm使能的语句,用标志位来控制pwm使能或是关闭

这篇文章讲的很详细,请看:keil使用入门