找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1370|回复: 3
收起左侧

一个关于C语言while循环的问题

[复制链接]
ID:236417 发表于 2018-10-13 19:19 | 显示全部楼层 |阅读模式
例:
                switch(KEY_Scan(0)){
                      case 0:
                break;               
                        case 1:
                if(LED1_STATUS!= 0){
                LED1_ON;Delay_ms(500);LED1_OFF;Delay_ms(500);
                LED1_ON;Delay_ms(500);LED1_OFF;Delay_ms(500);}
                else
                    LED1_OFF;
                        break;
                        case 2:
                if(LED1_STATUS!= 0){
                LED1_ON;Delay_ms(250);LED1_OFF;Delay_ms(250);
                LED1_ON;Delay_ms(250);LED1_OFF;Delay_ms(250);}
                else
                    LED1_OFF;
                        break;                                                               
                        case 3:
                if(LED1_STATUS!= 0){
                LED1_ON;Delay_ms(100);LED1_OFF;Delay_ms(100);
                LED1_ON;Delay_ms(100);LED1_OFF;Delay_ms(100);}
                else
                  LED1_OFF;
                         break;                                                               
                        default:
                         break;        
                }
这是一个在主函数中的while函数执行的任务
如何在case1的执行途中把case1的任务结束掉并开始执行case2任务

如何修改?



回复

使用道具 举报

ID:155507 发表于 2018-10-13 20:12 | 显示全部楼层
  1.                 switch(KEY_Scan(0)){
  2.                       case 0:
  3.                 break;               
  4.                         case 1:
  5.                 if(LED1_STATUS!= 0){
  6.                 LED1_ON;Delay_ms(500);LED1_OFF;Delay_ms(500);
  7.                 LED1_ON;Delay_ms(500);LED1_OFF;Delay_ms(500);}
  8.                 else
  9.                     LED1_OFF;
  10.                         //break; 修改这 case1的执行途中把case1的任务结束掉并开始执行case2任务
  11.                         case 2:
  12.                 if(LED1_STATUS!= 0){
  13.                 LED1_ON;Delay_ms(250);LED1_OFF;Delay_ms(250);
  14.                 LED1_ON;Delay_ms(250);LED1_OFF;Delay_ms(250);}
  15.                 else
  16.                     LED1_OFF;
  17.                         break;                                                               
  18.                         case 3:
  19.                 if(LED1_STATUS!= 0){
  20.                 LED1_ON;Delay_ms(100);LED1_OFF;Delay_ms(100);
  21.                 LED1_ON;Delay_ms(100);LED1_OFF;Delay_ms(100);}
  22.                 else
  23.                   LED1_OFF;
  24.                          break;                                                               
  25.                         default:
  26.                          break;        
  27.                 }
复制代码
回复

使用道具 举报

ID:409220 发表于 2018-10-13 21:46 | 显示全部楼层
在case 1中加入if条件,满足就break
回复

使用道具 举报

ID:409249 发表于 2018-10-13 23:00 | 显示全部楼层
在case 1中加入if条件,满足就break
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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