系统状态判定,条件编译

[复制链接]
 楼主| 先看热闹 发表于 2011-5-11 15:26 | 显示全部楼层 |阅读模式
#include <REGX51.h>
#define LED_FLASH_T 10000

void LEDs_Move();
void LEDs_Error();
void LEDs_Snake();

void delay(unsigned int t)
{
  for(;t>0;t--);  // 延时循环
}

#ifndef true
#define true 1
#endif

#define TASK_1 1
#define TASK_2 2

  void main()
{
  unsigned char System_Status = true;
  unsigned char System_Task = TASK_2;
  
  while(1)
  {
    // 程序主任务区
    // ............
    // 程序主任务区
   if(System_Status == true)   // 当系统处于正常状态
    {
      if(System_Task == TASK_1) // 程序分支一
      {
        LEDs_Move();         // 跑马灯指示系统正常
      }
      else if(System_Task == TASK_2) // 程序分支二
      {
        LEDs_Snake();     // 跑马灯蛇形花样指示
      }
    }
    else             // 当系统发生错误
    {
      LEDs_Error();       // 跑马灯指示错误
    }
   
  }

这是跑马灯蛇形变样的部分代码。对系统当前状态的判定是通过检验变量System_status的值来实现的。蓝色的部分是对它的赋值,但不知以后它的值是如何改变并且检验出来的???System_status是系统变量??而且对红色部分也不太懂,条件编译吗?看不懂

}
 楼主| 先看热闹 发表于 2011-5-11 17:24 | 显示全部楼层
则莫回事?我说的不清还是太简单?条件编译,这个我真看不懂,不清楚不好
 楼主| 先看热闹 发表于 2011-5-11 22:11 | 显示全部楼层
还是不清楚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:好好学习,天天向上 一天不学,自杀重来

2

主题

27

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部