zoukankan      html  css  js  c++  java
  • 实时控制软件第二周作业 停车场门禁控制系统的状态机设计

    信号:

    灯的信号(红绿);

    起落杆的信号;

    传感器的信号(外部输入);

    状态机信号:

    车辆进入

    车辆出去

    #include <iostream>
    using namespace std;
    
    enum State { in,out };
    enum Lever{ lever_up, lever_down };
    enum Light { red, green };
    
    struct signal
    {
        bool car_in, car_out; 
        Lever lever;
        Light light;
    }signal_in, signal_out;
    
    struct carstate
    { 
        State state; 
    }state;
    
    void light_change()
    {
        if (signal_in.lever == lever_down)
        {
            signal_out.light = red;
        }
        else if (signal_in.lever == lever_up)
        {
            signal_out.light = green;
        }
    }
    
    void lever_change()
    {
        if (signal_in.car_in == true)
        {
            signal_out.lever = lever_up;
            state.state = in;
        }
        else if (signal_in.car_in == false)
        {
            signal_out.lever = lever_down;
        }
        if (signal_out.car_out == true)
        {
            signal_out.lever = lever_down;
            state.state = out;
        }
        else if (signal_out.car_out == false)
        {
        }
    }
    
    int main()
    {
        while (1)
        {
            lever_change();
            light_change();
        }
    
    }
  • 相关阅读:
    守卫者的挑战(guard)
    pf
    放砖头
    多人背包
    TC-572-D1L2 未完!待续!
    方程的解数
    单词矩阵/贰五语言
    虫食算
    移动玩具
    UVA 125 统计路径条数 FLOYD
  • 原文地址:https://www.cnblogs.com/zhukkkk/p/6140453.html
Copyright © 2011-2022 走看看