初级会员

- 积分
- 95
- 金钱
- 95
- 注册时间
- 2015-12-28
- 在线时间
- 17 小时
|
3金钱
[mw_shl_code=c,true]void EXTI15_10_IRQHandler(void) //外部中断10【15:10】中断服务函数
{
if(EXTI_GetITStatus(EXTI_Line10) != RESET)
{
delay_ms(50);//消抖
if(KEY5==0) //按键KEY0
{//添加中断处理程序
// daomangmode=1-daomangmode;
// printf("%d",daomangmode);
jiedianmode++;
}
EXTI_ClearFlag(EXTI_Line10); //清除中断标志(必须)
EXTI_ClearITPendingBit(EXTI_Line10); //清除中断挂起位
}
}[/mw_shl_code]
[mw_shl_code=c,true] while(jiedianmode==0)
{
read_hmc5883l();
printf("现在的角度为%d\n",angle);
delay_ms(40);
zhendongpanduan();
}[/mw_shl_code]
就是想在while循环中一直判断角度是否在范围内,防止跑偏,然后怎么才能让它不再进while了?用按键外部中断可以吗?
|
最佳答案
查看完整内容[请看2#楼]
2.用于循环语句中,从循环体内直接退出当前循环。
unsigned char i, j=50;
for(i=0;ij) break;
}
j=i;
当程序循环到i=51时,执行break语句,跳出for循环,开始执行j=i这条语句。
|