#include "rca.h" //#define USE_INTERRUPT #include #include #include #define TOUCH_PIN 3 int is_update_oled; void setup() { Serial.begin(115200); Wire.begin(); TSL2561.init(); SeeedOled.init(); SeeedOled.deactivateScroll(); is_update_oled = 1; } void loop() { Serial.print("The Light value is: "); Serial.println(TSL2561.readVisibleLux()); if (is_update_oled == 1) { wai_sem(OLED_SEM); SeeedOled.clearDisplay(); SeeedOled.putNumber(TSL2561.readVisibleLux()); sig_sem(OLED_SEM); } delay(1000); } #ifdef USE_INTERRUPT void onTouch(void) { Serial.print("hoge"); iwup_tsk(RCA_TASK1); } #endif /* USE_INTERRUPT */ void task1_setup() { pinMode(TOUCH_PIN, INPUT_PULLUP); #ifdef USE_INTERRUPT attachInterrupt(TOUCH_PIN, onTouch, CHANGE); #endif /* USE_INTERRUPT */ } void task1_loop() { #ifdef USE_INTERRUPT slp_tsk(); #else /* USE_INTERRUPT */ delay(1); #endif /* USE_INTERRUPT */ int TouchSensorValue = digitalRead(TOUCH_PIN); if(TouchSensorValue==1) { is_update_oled = 0; wai_sem(OLED_SEM); SeeedOled.setInverseDisplay(); sig_sem(OLED_SEM); }else{ is_update_oled = 1; wai_sem(OLED_SEM); SeeedOled.setNormalDisplay(); sig_sem(OLED_SEM); } }