Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия |
products:laboratory_iot:exp36 [2024/11/17 13:23] – [Эксперимент] labuser30 | products:laboratory_iot:exp36 [2024/11/17 16:27] (текущий) – [Программный код эксперимента] labuser30 |
---|
==== Программный код эксперимента ==== | ==== Программный код эксперимента ==== |
| |
<file python Exp35[enable_line_numbers="2", start_line_numbers_at="1"]> | <file python Exp36.py[enable_line_numbers="2", start_line_numbers_at="1"]> |
from machine import I2C, Pin | from machine import I2C, Pin |
from esp8266_i2c_lcd import I2cLcd | from esp8266_i2c_lcd import I2cLcd |
События можно комбинировать. Например, если нужна реакция и на событие ''Pin.IRQ_FALLING'' и ''Pin.IRQ_RISING'', то можно записать так: ''trigger=(Pin.IRQ_FALLING | Pin.IRQ_RISING)''. | События можно комбинировать. Например, если нужна реакция и на событие ''Pin.IRQ_FALLING'' и ''Pin.IRQ_RISING'', то можно записать так: ''trigger=(Pin.IRQ_FALLING | Pin.IRQ_RISING)''. |
| |
Рассмотрим функцию- обработчик прерывания: | Рассмотрим функцию-обработчик прерывания: |
<code python[enable_line_numbers="2", start_line_numbers_at="26"]> | <code python[enable_line_numbers="2", start_line_numbers_at="26"]> |
def callback(p): | def callback(p): |
</code> | </code> |
| |
Ключеваое слово ''global'' сообщает интерпретатору Python о том, что мы хотим использовать переменную, объявленную за пределами текущей функции. По умолчанию, все переменные, созданные внутри функции доступны (имеют //область видимости//) в пределах именно этой функции. Как только функция завершается такие переменные уничтожаются. Такие переменные называются //локальными//. Ключевое слово ''global'' дает возможность обратиться к //глобальной// переменной. | Ключевое слово ''global'' сообщает интерпретатору Python о том, что мы хотим использовать переменную, объявленную за пределами текущей функции. По умолчанию, все переменные, созданные внутри функции доступны (имеют //область видимости//) в пределах именно этой функции. Как только функция завершается такие переменные уничтожаются. Такие переменные называются //локальными//. Ключевое слово ''global'' дает возможность обратиться к //глобальной// переменной. |
| |
Потом, как и раньше, мы определяем текущее состояние линий A и B энкодера. Определяем индекс состояния и проверяем можем ли мы сделать переход в данное состояние. | Потом, как и раньше, мы определяем текущее состояние линий A и B энкодера. Определяем индекс состояния и проверяем можем ли мы сделать переход в данное состояние. |