trafficlight.cc

来自「一个用system C来实现的交通灯控制算法」· CC 代码 · 共 49 行

CC
49
字号
#include "TrafficLight.h"TrafficLight::TrafficLight(sc_module_name name)  :sc_module(name){  SC_THREAD(event_trigger_thread);  SC_METHOD(control_lights);  dont_initialize();  sensitive << control_lights_event;}void TrafficLight::control_lights(){    double lig;      int sen = sensors->read();                                // binary    if (sen == 0x08 or sen == 0x09 or sen == 0x0A or sen == 0x0B) {         lig = 0x04;             // 0100        }    else if (sen == 0x04 or sen == 0x05 or sen == 0x06 or sen == 0x07) {         lig = 0x08;             // 1000        }    else if (sen == 0x02) {     // 0010        lig = 0x01;             // 0001        }    else if (sen == 0x01) {     // 0001        lig = 0x02;             // 0010        }    else if (sen == 0x0C or sen == 0x0D or sen == 0x0E or sen == 0x0F) {         lig = 0x0C;             // 1100        }    else if (sen == 0x03) {     // 0011        lig = 0x03;             // 0011        }    else lig = 0x00;            // 0000        lights->write(lig);}void TrafficLight::event_trigger_thread(){  for(;;) {    wait(5,SC_SEC);  // delay 5 second between each state    control_lights_event.notify();  }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?