主程序的循环,
while(flag3)
{
while(flag1) //对应按键key0,
{
TIM_SetCompare1(TIM1,300);
LED1=1;
delay_ms(500);
TIM_SetCompare1(TIM1,0);
LED1=0;
delay_ms(500);
}
while(flag2) //对应按键key1,
{
delay_ms(10);
LED1=1;
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare1(TIM1,led0pwmval);
}
}
为什么while(flag3)这个循环一旦进入之后就出不来了!我设定了按键使flag3取反!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
首先你所谓的取反是按一下取反然后值不变还是只有按的时候取反如果值不变那么1和2是不是也是这样如果也是那么你就需要保证你想跳出外面循环是 里面的循环条件不成立
死在while(flag3)。进去了就出不来了
进入了while(flag3)后无按键扫描程序。。。进入了死循环 怎会出得来
一周热门 更多>