Читайте также: |
|
Описание:
Определяет функцию, которая будет вызвана при срабатывании внешнего прерывания. Заменяет привязанную ранее функию. Большинство платформ имеют два внешних прерывания: с номерами 0 (на цифровом пине 2) и 1(на цифровом пине 3). Arduino Mega дополнительно содержит еще 4 внешних прерыванияhas: номер 2 (вывод 21), 3 (вывод 20), 4 (вывод 19), and 5 (вывод 18).
Параметры
interrupt: номер прерывания (int)
function: функция вызываемся при срабатывании прерывания. Следует учесть, что функция не должна иметь параметров и ничего не возвращать. Такая функция называется обработчиком прерывания.
mode определяет, на что должно срабатывать прерывание. Четыре константы устанавливают определеное действие:
LOW срабатывание прерывания, когда на выводе низкий уровень напряжения,
CHANGE срабатывание прерывания каждый раз прис менене уровня напряжения на выводе
RISING срабатывание прерывания по фронту - когда состояние вывода изменяется от LOW к HIGH,
FALLING срабатывание прерывания по спаду - когда состояние вывода изменяется от HIGH к LOW
Примечание:
Внутри функций прерывания delay() не работает, и значение,возвращаемое фнукцией millis() не инкрементируется. Передаваемые по последовательному порту данные могут быть потеряны. Следует объявить как volatile любые перемены, модифицируемые в обработчике прерывания.
Использование прерываний:
Прерывания отлично подходят для создания автоматических действий в программах и могут решать некоторые временные проблемы. Отличной задачей с использованием прерываний является программа управления енкодером. Чтобы быть уверенным, что ни один импульс от енкодера не будет потерян, будет сложно написать программу, выполняющую кроме слежения что-то еще. Повесив выход енкодера на внешнее прерывание можно с легкостью решить эту проблему.
Дата добавления: 2015-08-20; просмотров: 74 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Map(value, fromLow, fromHigh, toLow, toHigh) | | | DetachInterrupt(interrupt) |