找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2856|回复: 17
打印 上一主题 下一主题
收起左侧

怎样使while(1){ }里的程序分开进行

  [复制链接]
跳转到指定楼层
楼主
ID:219079 发表于 2017-7-22 21:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
怎样使while(1){ }里的程序分开进行??急需??
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:123289 发表于 2017-7-23 00:02 | 只看该作者
谁与谁分开呢?
回复

使用道具 举报

板凳
ID:34643 发表于 2017-7-23 06:33 | 只看该作者
具体说说你想要做的任务。
回复

使用道具 举报

地板
ID:213173 发表于 2017-7-23 07:11 | 只看该作者
while(1){ }通常只能放在main()函数里,其{ }里的程序是按顺序运行的,在执行完最后一条语句再返回执行第一条语句,无限循环。如果执行中被中断程序打断,完成中断任务后再回到被打断处继续执行。你想把while(1){ }里的程序分开同步执行是办不到的。只能是在高级应用中多任务分时运行,从效果上看是多任务同时运行。
回复

使用道具 举报

5#
ID:219079 发表于 2017-7-23 08:53 | 只看该作者
yzwzfyz 发表于 2017-7-23 00:02
谁与谁分开呢?

比如说,while(1)里面有几个调用函数,怎样用标识符让它们分步进行
回复

使用道具 举报

6#
ID:164602 发表于 2017-7-23 08:55 | 只看该作者
当然是条件“分开”啰。
例如:用按键。我的小车有很多功能:自由花式跑、超声波避障、寻迹、红外避障等等,但每次只能展示一项功能吧,所以,就用按键了,按这个键,执行这项功能......
回复

使用道具 举报

7#
ID:221117 发表于 2017-7-23 09:51 | 只看该作者
在主程序中使用switch case
回复

使用道具 举报

8#
ID:221725 发表于 2017-7-23 10:38 | 只看该作者
题目表达不清楚。
回复

使用道具 举报

9#
ID:221736 发表于 2017-7-23 11:11 | 只看该作者
条件语句分开吧
回复

使用道具 举报

10#
ID:221744 发表于 2017-7-23 11:53 | 只看该作者
麻烦请您多读几遍问题
回复

使用道具 举报

11#
ID:221771 发表于 2017-7-23 15:29 | 只看该作者
把程序发出来帮你看看
回复

使用道具 举报

12#
ID:219079 发表于 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;                 
                }
                }
              }
}
}}}
回复

使用道具 举报

13#
ID:221806 发表于 2017-7-23 17:17 | 只看该作者
间隔进行
回复

使用道具 举报

14#
ID:221804 发表于 2017-7-23 17:51 | 只看该作者
里面套用switch函数
回复

使用道具 举报

15#
ID:219079 发表于 2017-7-23 19:57 | 只看该作者
间隔进行?switch怎么用?
回复

使用道具 举报

16#
ID:220919 发表于 2017-7-24 17:23 | 只看该作者
用switch来分开;
如果是想那一段时间来执行一个子函数,当时间到了,不管函数执没执行玩,都执行下一个的话,就要要用操作系统
回复

使用道具 举报

17#
ID:190832 发表于 2017-7-24 17:46 | 只看该作者
if-elses,witch,goto
回复

使用道具 举报

18#
ID:219079 发表于 2017-7-24 20:23 | 只看该作者
不想用时间
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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