Прерывания
Понятие прерывания и их использование в микроконтроллерах
Бывают моменты, когда при работе программы она должна реагировать на определенное событие извне. В таких случаях платформа Arduino при определенных событиях на какой-то момент “отвлекается” от выполнения основной программы и приступает к выполнению действий (сценария) которые должны быть выполнены при условии возникновения определенного события (прерывания). Прерывания – это сигналы, прерывающие нормальное течение программы.
Чтобы реализовать обработку прерываний на платформе Arduino нужно в функции void setup вызвать функцию - attachInterrupt.
Прерывания в микроконтроллерах очень часто используются при разработке радиоэлектронных устройств, они позволяют реализовать многозадачность, то есть параллельное выполнение нескольких задач.
Прерывания обычно используются для аппаратных устройств, требующих немедленной реакции на появление событий.
Рассмотрим пример с прерыванием:
attachInterrupt(digitalPinToInterrupt(2), handleButton, FALLING);
digitalPinToInterrupt() - здесь мы задаем порт на котором будет прерывание,
handleButton - обработчик прерывания, это функция которая будет работать только при прерывании (при событии, на которое должна реагировать программа),
FALLING - событие за счёт которого срабатывает работает прерывание.