Arduino — различия между версиями

Материал из CADR
Перейти к: навигация, поиск
(Добавил раздел "Подключение оборудования")
(Подключение оборудования: Поправил ссылку)
Строка 21: Строка 21:
  
 
= Подключение оборудования =
 
= Подключение оборудования =
* [[Arduino/МТ–16S2H|ЖК-дисплей МЭЛТ MT–16S2H]]
+
* [[Arduino/MT-16S2H|ЖК-дисплей МЭЛТ MT-16S2H]]
  
 
[[Категория:База знаний]]
 
[[Категория:База знаний]]

Версия 11:53, 8 апреля 2016

Прерывания

Допустим, мы сделали "бегущий огонь" и теперь хотим прикрутить кнопку для управления режимом светодиодов. Самым прямолинейным решением, на первый взгляд, является считвание значение кнопки в начале loop. Собираем схему, добавляем считывание значения с цифрового порта и логику переключения режимов. Всё бы хорошо, но наше кратковременное нажатие на кнопку обычно приводит к многократному считыванию значения; как следствие, логика не работает, как должна.

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

Для правильного решения данной задачи необходимо использовать прерывания.

Реакция на внешние события

Для обработки внешнего асинхнонного события нам потребуются как минимум две вещи:

  • Написать обработчик события
  • Связать обработчик с внешним событием

TODO

Прерывания по таймеру

TODO

См. также

Подключение оборудования