Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






AttachInterrupt(interrupt, function, mode). Определяет функцию, которая будет вызвана при срабатывании внешнего прерывания





Описание:

Определяет функцию, которая будет вызвана при срабатывании внешнего прерывания. Заменяет привязанную ранее функию. Большинство платформ имеют два внешних прерывания: с номерами 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 любые перемены, модифицируемые в обработчике прерывания.

Использование прерываний:

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

 







Date: 2015-12-12; view: 379; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию