Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
products:laboratory_iot_c:exp36 [2024/11/17 16:36] – [Программный код эксперимента] labuser30 | products:laboratory_iot_c:exp36 [2024/11/17 17:04] (текущий) – [Программный код эксперимента] labuser30 | ||
---|---|---|---|
Строка 126: | Строка 126: | ||
Рассмотрим функцию-обработчик прерывания, | Рассмотрим функцию-обработчик прерывания, | ||
- | <code arduino[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
void ICACHE_RAM_ATTR callback() { | void ICACHE_RAM_ATTR callback() { | ||
bool value_a = digitalRead(ENC_A); | bool value_a = digitalRead(ENC_A); | ||
Строка 153: | Строка 153: | ||
Она начинается с | Она начинается с | ||
- | <code arduino[enable_line_numbers=" | + | <code arduino[enable_line_numbers=" |
- | | + | bool value_a = digitalRead(ENC_A); |
- | | + | bool value_b = digitalRead(ENC_B); |
- | global encA | + | |
- | global states | + | |
- | global old_state | + | |
</ | </ | ||
- | Ключевое слово '' | + | Здесь мы впервые объявляем переменные внутри функции. По умолчанию, |
Потом, как и раньше, | Потом, как и раньше, | ||
Строка 167: | Строка 164: | ||
Как мы заметили ранее, при одном щелчке энкодера происходит смена двух состояний энкодера. Чтобы одному щелчку соответствовало изменение счетчика на 1, мы просто проверяем счетчик на четность. | Как мы заметили ранее, при одном щелчке энкодера происходит смена двух состояний энкодера. Чтобы одному щелчку соответствовало изменение счетчика на 1, мы просто проверяем счетчик на четность. | ||
- | < | + | < |
- | | + | if (not(count % 2)){ |
- | print('+'); | + | |
- | | + | |
+ | } | ||
</ | </ | ||
Строка 176: | Строка 174: | ||
Теперь самое главное. Обратим внимание на основной цикл программы. Мы в нем ничего не делаем. Все действия, | Теперь самое главное. Обратим внимание на основной цикл программы. Мы в нем ничего не делаем. Все действия, | ||
+ | |||
+ | <WRAP center round info 80%> | ||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | </ | ||
+ | |||