野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14382|回复: 6

在while(1)中怎么立即退出来

[复制链接]
发表于 2016-9-27 15:10:06 | 显示全部楼层 |阅读模式
void LED_Out(void)
{
        OS_ERR      err;
        while(1)
        {       
        if(GPIO_ReadOutputDataBit( GPIOD, GPIO_Pin_1)==0)
        {
  macLED1_ON();
  OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
         macLED1_OFF();
        OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
  macLED2_ON();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
macLED2_OFF();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
       
  macLED4_ON();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
macLED4_OFF();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
                 macLED5_ON();
  OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
         macLED5_OFF();
        OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
  macLED6_ON();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
macLED6_OFF();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
                macLED7_ON();
  OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
         macLED7_OFF();
        OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
  macLED8_ON();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
macLED8_OFF();
OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
        macLED9_ON();
  OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
         macLED9_OFF();
        OSTimeDlyHMSM ( 0, 0, 0, 500, OS_OPT_TIME_DLY, & err );
        }
         else break;
               
}
}
怎么裸奔立即退出while(1),不等程序跑完
怎么立即退出.jpg
回复

使用道具 举报

发表于 2016-9-27 15:51:38 | 显示全部楼层
使用break是可以退出循环的,我看你的程序也写了,不行嘛?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-9-27 16:57:34 | 显示全部楼层
flyleaf 发表于 2016-9-27 15:51
使用break是可以退出循环的,我看你的程序也写了,不行嘛?

是循环完,才退出,不是立即在当前位置退出,想裸奔看能不能立即退出,不想删除任务
回复 支持 反对

使用道具 举报

发表于 2016-9-27 16:57:53 | 显示全部楼层
break退出执行while之后的语句;continue退出当前循环,重新开始循环
回复 支持 反对

使用道具 举报

发表于 2016-9-27 16:58:22 | 显示全部楼层
来俩不甜的 发表于 2016-9-27 16:57
break退出执行while之后的语句;continue退出当前循环,重新开始循环

更暴力一点就用goto吧
回复 支持 反对

使用道具 举报

发表于 2016-9-27 16:59:48 | 显示全部楼层
另外,亮灯函数加参数,指定哪一个灯,是亮还是灭。你这样写不嫌费劲啊
回复 支持 反对

使用道具 举报

发表于 2016-9-27 17:04:23 | 显示全部楼层
ai175246127 发表于 2016-9-27 16:57
是循环完,才退出,不是立即在当前位置退出,想裸奔看能不能立即退出,不想删除任务

循环完退出那就在最后写个break就好了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-13 02:55 , Processed in 0.030793 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表