📄 trafficlight.cc
字号:
#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -