Найти тему
Практика

Esp8266, nodemcu. Собираем данные по событию прерывания. MAX3105 прерывания. Монитор помощник 5.2

Проблематика. Прерывания - код который выполняется прерывая ход основной программы. Необходимо чтобы код обработки прерывания был максимально коротким, чтобы оказывать минимальное влияние на основную программу. Также необходимо обеспечить безопасность данных, чтобы исключить совместный доступ к данным (Тут зависит от микроконтроллера, ос и прочее). Например при записи прерывания с массив исключить работу с этим массивом.

Преимущества:

Разгружаем основной код программы. Исключается ожидание считывания данных:

-2

Как результат повышается отзывчивость программы.

Недостатки:

Сам ничего не придумал, надо погуглить... Понравилось тут и тут.

Реализация

Для безопасной работы с данными от датчика буду использовать ArduinoRingBuffer.

Так включаем
Так включаем
Так обрабатываем прерывание
Так обрабатываем прерывание
Так читаем данные
Так читаем данные

Прерывания

Про прерывания в даташите изложено следующее

-6
-7

Ну и для очистки прерываний после срабатвания

-8

С подпиской рекламы не будет

Подключите Дзен Про за 159 ₽ в месяц