Оглавление
Глобальные #
interrupts #
void interrupts()
Разрешить все прерывания
noInterrupts #
void noInterrupts()
Запретить все прерывания
Внешние #
digitalPinToInterrupt #
digitalPinToInterrupt(pin)
Возвращает номер прерывания, соответствующий указанному пину, либо
-1
(константа NOT_AN_INTERRUPT
), если пин не поддерживает внешние прерывания. Нумерация пинов зависит от платы/МК, см. информацию по конкретной модели.attachInterrupt #
void attachInterrupt(uint8_t interruptNum, void (*handler)(void), uint8_t mode)
Подключить внешнее прерывание под номером
interruptNum
на функцию handler
в режиме mode
:
- Номер прерывания
interruptNum
может быть получен из номера пина при помощиdigitalPinToInterrupt()
. Нумерация пинов и прерываний зависит от платы/МК, см. информацию по конкретной модели handler
- функция-обработчик прерывания видаvoid f()
, будет вызвана при срабатывании прерыванияmode
- режим прерывания. У разных плат/МК могут быть и другие режимы, см. информацию по конкретной моделиLOW
- срабатывает всегда, когда на пине низкий сигналCHANGE
- срабатывает при смене сигнала на противоположныйRISING
- срабатывает при смене сигнала с низкого (LOW
) на высокий (HIGH
)FALLING
- срабатывает при смене сигнала с высокого (HIGH
) на низкий (LOW
)
detachInterrupt #
void detachInterrupt(uint8_t interruptNum)
Отключить внешние прерывания под номером
interruptNum
. Можно использовать digitalPinToInterrupt()
для указания номера прерывания через номер пина: detachInterrupt(digitalPinToInterrupt(пин))
.