Продолжаем рубрику для начинающих ардуинщиков :)
На этот раз поговорим об аппаратных (внутренних) прерываниях в Arduino (ATmega328P).
Например, они пригодятся для ситуаций, когда у вас большая программа с кучей функций delay и других задержек (что ужасно), но вам никак нельзя пропускать определенные события - нажатия кнопок, срабатывания датчиков и т.д.
Краткая выжимка из видео:
- Что такое аппаратные прерывания и как они работают (0:33)
- Смотрим информацию о прерываниях в datasheet на микроконтроллер ATmega328p (2:38)
- Пишем программу для внешнего прерывания по кнопке (6:24)
- Наблюдаем дребезг контактов на графике осциллографа (14:47)
- Пишем простую программу для борьбы с дребезгом контактов (16:00)
- Получаем домашнее задание (22:30)
Программа с настройкой прерываний по кнопке, позволяющая обойти дребезг контактов: Google Drive
Удачных компиляций! :)
P.S.: Если вы еще не состоите в сообществе "Arduino & Pi", милости просим сюда.