首先制定各个变量名称
入闸传感器: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; } }