标题: 怎样使while(1){ }里的程序分开进行 [打印本页]

作者: better-me    时间: 2017-7-22 21:28
标题: 怎样使while(1){ }里的程序分开进行
怎样使while(1){ }里的程序分开进行??急需??

作者: yzwzfyz    时间: 2017-7-23 00:02
谁与谁分开呢?
作者: 51mcu    时间: 2017-7-23 06:33
具体说说你想要做的任务。
作者: wulin    时间: 2017-7-23 07:11
while(1){ }通常只能放在main()函数里,其{ }里的程序是按顺序运行的,在执行完最后一条语句再返回执行第一条语句,无限循环。如果执行中被中断程序打断,完成中断任务后再回到被打断处继续执行。你想把while(1){ }里的程序分开同步执行是办不到的。只能是在高级应用中多任务分时运行,从效果上看是多任务同时运行。
作者: better-me    时间: 2017-7-23 08:53
yzwzfyz 发表于 2017-7-23 00:02
谁与谁分开呢?

比如说,while(1)里面有几个调用函数,怎样用标识符让它们分步进行
作者: HC6800-ES-V2.0    时间: 2017-7-23 08:55
当然是条件“分开”啰。
例如:用按键。我的小车有很多功能:自由花式跑、超声波避障、寻迹、红外避障等等,但每次只能展示一项功能吧,所以,就用按键了,按这个键,执行这项功能......
作者: 黄惠洪    时间: 2017-7-23 09:51
在主程序中使用switch case
作者: 多春鱼    时间: 2017-7-23 10:38
题目表达不清楚。
作者: 789456113    时间: 2017-7-23 11:11
条件语句分开吧
作者: yjt1000    时间: 2017-7-23 11:53
麻烦请您多读几遍问题

作者: 不会电子的新手    时间: 2017-7-23 15:29
把程序发出来帮你看看
作者: better-me    时间: 2017-7-23 16:33
void main()
{          
        Init_T0();
        init_12864();        
        writestring(2,0,"金属:");
        flag=1;
        writestring(0,0,"全程计时:");
        while(1)
        {       
                if(biaozhi1==1)
                xunji();
                if(biaozhi2==1)
                {
                bizhang();
                if(biaozhi3==1)
                xunguang();
                xianshi(0,6,shijian/15000);
                if(shijian==90)
                {
                        ting();
                }
                 
                if(biaozhi1==1)
                {
                if((z==0)&&(y==0))
                {
                if(flag==1)
                {
                if(jinshu==0)
                {
                        num++;
                        delayms(50);
                        DENG=0X00;
                        delayms(50);
                        beep=0;
                        delayms(50);
                         xianshi(2,6,num);
                 }
                 else
                 {
                        DENG=0xff;
                         beep=1;
                 }
                 }}
                 
                if(biaozhi1==1)
                {
                if(zuo==0||you==0)
                {
                if(jinshu==0)
                {
       
                        ting();
                        delayms(50);
                        DENG=0X00;
                        delayms(50);
                        beep=0;
                        delayms(50);
                }
                else
                {
                        IN1=1;IN2=0;IN3=0;IN4=1;
                        DENG=0Xff;
                        beep=1;                 
                }
                }
              }
}
}}}
作者: dsadasav    时间: 2017-7-23 17:17
间隔进行
作者: 李洪恩    时间: 2017-7-23 17:51
里面套用switch函数
作者: better-me    时间: 2017-7-23 19:57
间隔进行?switch怎么用?

作者: 163461356468    时间: 2017-7-24 17:23
用switch来分开;
如果是想那一段时间来执行一个子函数,当时间到了,不管函数执没执行玩,都执行下一个的话,就要要用操作系统
作者: hange_v    时间: 2017-7-24 17:46
if-elses,witch,goto
作者: better-me    时间: 2017-7-24 20:23
不想用时间




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1