Показать сообщение отдельно
Старый 06.05.2019, 21:27   #195
murano
Пользователь
 
Регистрация: 10.10.2009
Возраст: 59
Регион: 35
Сообщений: 99
murano is on a distinguished road
Post

Подозреваю проблема кроется в циклическом выполнении процедур
Код:
void obrabotka_ACC_OFF() и void obrabotka_ACC_ON()
После того, как добавил переменную
Код:
bool screen_on = false
, в которой хранится состояние экрана (on - off), и сделал изменения в указанных выше процедурах, обозначенная ранее ситуация исчезла:
void obrabotka_ACC_ON()
Код:
    ...
    if (HALL_as_power_Switch == 1 && screen_on == false) {
      if (millis() - pauseTimeACC >= SLEEP_timer_pri_vkl_ACC )    {SLEEP = 1;}//digitalWrite(SLEEPpin, 0); /*включаем экран*/ 
      if (millis() - pauseTimeACC >= (SLEEP_timer_pri_vkl_ACC+vremia_uderjanija_najatoj_knopki_POWER) ) {
        SLEEP = 0;
        screen_on = true;
      } 
    }
    ...
void obrabotka_ACC_OFF()
Код:
    ...
    if (HALL_as_power_Switch == 1 && screen_on == true) {
      if (millis() - pauseTimeACC >= SLEEP_timer_pri_vykl_ACC ) {SLEEP = 1;}//digitalWrite(SLEEPpin, 0); /*включаем экран*/ 
      if (millis() - pauseTimeACC >= (SLEEP_timer_pri_vykl_ACC+vremia_uderjanija_najatoj_knopki_POWER) ) { 
        SLEEP = 0;
        screen_on = false;
      } 
    }
    ...
Откатал сегодня день, проблем пока не было.
murano вне форума   Ответить с цитированием