首页 > 代码库 > 《实时控制软件》第二周作业

《实时控制软件》第二周作业

首先制定各个变量名称

入闸传感器:sensor_in;

出闸传感器:sensor_out;

起落杆上升:gan.raise();

起落杆下降:gan.down();

信号灯:light(1为绿,0为红);

通行状态:A0为禁止通行,A1为允许通行;

竖着写(在状态中判断事件)C代码片段

cur_state = nxt_state;   
switch(cur_state) //在当前状态中判断事件
{            
    case A0: //在A0状态   
        if(sensor_in==1) //如果入闸传感器检测到信号
        {   
           gan.raise();// 杆上升,灯变绿  
       light==1;
           nxt_state = A1;  //状态变A1
        } 
       
        else
        {
            break;    
        }   

    case A1: //在A1状态
        if(sensor_out==1) //出闸传感器检测到信号 
        {                
           gan.down();//杆下降,灯变红
         light==0; 
           nxt_state = A0;// 状态变A0
        }           
        else
        {
      break;
        }
}

 

《实时控制软件》第二周作业