Страница 1 из 1
Прерывания.
Добавлено: 23 июл 2018, 12:32
f18
Приветствую сторожил и гостей форума. На Uno и Nano контроллерах всего два пина с функцией прерывания. Для некоторых проектов этого бывает недостаточно. Возможно ли, и целесообразно, создание блока для увеличения количества таких пинов ? Например, когда нужно использовать два энкодера. Один, для управления меню, а другой например оптический, для отслеживания вращения вала электродвигателя. Вот, что нарыл в сети:
https://arduinonsk.ru/blog/87-all-pins-interrupts . Вот видео:
https://www.youtube.com/watch?v=hArPRYkx__0 .Пробовал создать блок, но на Си знаний маловато. С большим уважением. Спасибо за возможный ответ.
Прерывания.
Добавлено: 23 июл 2018, 19:10
Kotafey
f18 писал(а): 23 июл 2018, 12:32Приветствую сторожил и гостей форума. На Uno и Nano контроллерах всего два пина с функцией прерывания. Для некоторых проектов этого бывает недостаточно. Возможно ли, и целесообразно, создание блока для увеличения количества таких пинов ? Например, когда нужно использовать два энкодера. Один, для управления меню, а другой например оптический, для отслеживания вращения вала электродвигателя. Вот, что нарыл в сети:
https://arduinonsk.ru/blog/87-all-pins-interrupts . Вот видео:
https://www.youtube.com/watch?v=hArPRYkx__0 .Пробовал создать блок, но на Си знаний маловато. С большим уважением. Спасибо за возможный ответ.
Очень интересно.
Прерывания.
Добавлено: 23 июл 2018, 20:46
leaner
Я тоже интересовался этим моментом, даже делал расширитель из диодов и сопротивлений по принципу "или" оставалось запрограммировать. Суть расширителя в том что все свободные цифровые пины которые надо контролировать через диоды соединяются с ножкой прерывания ардуино видит что есть сигнал на ножке аппаратного прерывания и читает состояние пинов и определяет на какой ноге возникло прерывание ну и реагирует соответственно на него.
Прерывания.
Добавлено: 23 июл 2018, 21:30
golowa70
leaner писал(а): 23 июл 2018, 20:46Я тоже интересовался этим моментом, даже делал расширитель из диодов и сопротивлений по принципу "или" оставалось запрограммировать. Суть расширителя в том что все свободные цифровые пины которые надо контролировать через диоды соединяются с ножкой прерывания ардуино видит что есть сигнал на ножке аппаратного прерывания и читает состояние пинов и определяет на какой ноге возникло прерывание ну и реагирует соответственно на него.
А если сигнал прерывания появится одновременно на нескольких пинах?
Прерывания.
Добавлено: 24 июл 2018, 05:43
leaner
Появится сигнал, ардуина считает на каких пинах есть прерывания. Если сигнал от нескольких пинов пришел одновременно то в зависимости от приоритета отработает эти прерывания. Для 3-4 доп пинов прерываний должно работать.