Нужна помощь по коду

Shturman250
Offline
Зарегистрирован: 17.11.2016

Помогите разобраться где ошибка.

При выполнении данного куска кода контроллер зависает, а должен изменять временную зону

01while (buttonA != HIGH)
02          {
03 
04            if (buttonB == HIGH)
05            {
06              while (digitalRead(buttonPinB) != LOW)
07                delay(10);
08              buttonB = LOW;
09              TZ++;
10              print_TZ = true;
11 
12            }
13 
14            if (TZ == 13)
15              TZ = -11;
16 
17            if (print_TZ == true) {
18              char sz[10];
19              sprintf(sz, "%d", abs(TZ));
20              myOLED.clrScr();
21              myOLED.setFont(SmallFont);
22              myOLED.print(F("Select TimeZone :"), 15, 0);
23              myOLED.print(F("Menu to set"), 30, 7);
24              myOLED.setFont(BigNumbers);
25              myOLED.print(sz, 60, 5);
26              print_TZ = false;
27            }
28            delay(50);
29          }

 

asam
asam аватар
Offline
Зарегистрирован: 12.12.2018

опишите предполагаемую логику работы данного куска.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

asam пишет:

опишите предполагаемую логику работы данного куска.

:)))

Shturman250
Offline
Зарегистрирован: 17.11.2016

при нажатии кнопки buttonB происходит изменение часового пояса и отображение его на дисплее,

до тех пок пока не будет нажата кнопка buttonА.

но код зависает , изменяется часовой пояс с 3 на 4 выводится на дисплей ибольше на нажатия любых кнопок не реагирует

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Уважаемый, а на каком моменте Вы предполагаете выйти из while в строке 1?

Немного подскажу - надо как-то изменить buttonA

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Shturman250 пишет:

но код зависает

Привыкайте к правильной терминологии, это помогает. Ваше жаргонное "зависает" ничего не говорит. А вот если бы Вы сказали правильно "работает в бесконечном цикле" - это дало бы Вам подсказку куда копать. Подумайте.

Shturman250
Offline
Зарегистрирован: 17.11.2016

спасибо ваши пинок помог