Глава 12. Аппаратные прерывания и прерывания по таймеру
Список деталей
Для повторения примеров главы вам понадобятся следующие детали:
• плата Arduino (рекомендуется Uno );
• USB-кабель для программирования платы Arduino;
• кнопка;
• пьезозуммер;
• RGB-светодиод с общим катодом;
• 1 резистор номиналом 10 кОм;
• 1 резистор номиналом 100 Ом;
• 1 резистор номиналом 150 Ом;
• 3 резистора номиналом 220 Ом;
• электролитический конденсатор 10 мкФ;
• микросхема 74НС14 (шесть инверторов с триггерами Шмитта);
• набор перемычек;
• 2 макетные платы.
Электронные ресурсы к главе
На странице http://www.exploringarduino.com/content/ch12 можно загрузить программный код, видеоуроки и другие материалы для данной главы. Кроме того, листинги примеров можно скачать со страницы www.wiley.com/go/exploringarduino в разделе Downloads.
Что вы узнаете в этой главе
Все предыдущие программы работали в синхронном режиме. В связи с этим возникали проблемы, например, выполнение команды delay() останавливает программу на некоторое время и не дает возможности Arduino осуществлять другие действия.
В главе 1 мы создали программный таймер, использующий функцию millis(), что
- 254 -
позволило избежать временного блокирования платы Arduino функцией delay().
Продолжим эту тему, добавив два таймера и аппаратные прерывания. Прерывания позволяют выполнять программу асинхронно, при наступлении определенного события (истечение временного интервала, изменение состояния входов и т. д.). Прерывания, как и следует из их названия, дают возможность остановить ход текущей программы Arduino, выполнить код прерывания, а затем вернуться к прерванной задаче. Далее мы узнаем, как осуществить прерывания по времени и при изменении состояния контактов. На основе этих знаний мы построим систему аппаратных прерываний и напишем программу, использующую прерывания таймера.
ПРИМЕЧАНИЕ
Видеоурок по прерываниям и аппаратному устранению дребезга можно посмотреть на странице
http://www.jeremyblum.com/2011103/07/arduino-tutorial-10-interrupts-and1hardware-debouncing[15]. Найти данный видеофайл можно и на странице издательства Wiley.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОК