Связь между ESP01 Arduino NANO и использование внешнего прерывания в Arduino NANO для другой программы, кроме программы связи, в одно и то же время

Я установил связь между ESP01 и Arduino NANO (на базе ATMEGA328). Используемые контакты ESP: GPIO-0 и GPIO2. В NANO используются D2 и D3. Эта программа работает нормально. Теперь я хочу добавить внешнее прерывание в мою программу Arduino NANO, продолжая связь с ESP01. Но я не могу использовать D2 и D3, потому что они использовались коммуникационной программой. Теперь ограничение Arduino NANO состоит в том, что у него есть только два контакта прерывания: D2 и D3. Поэтому, если я использую это для внешней программы прерывания, я теряю связь с ESP01. Может ли кто-нибудь помочь мне использовать обе задачи одновременно: Задача 1 — внешнее прерывание в Arduino Nano, Задача 2 — Связь с ESP01. Ваш ответ поможет мне решить эту проблему. Заранее спасибо.

, 👍2

Обсуждение

Не использовать D2 и D3 для связи? На Nano есть много других контактов..., @Majenko

поэтому переместите SodtwareSerial на другую пару контактов. 4 и 5 хороши для ШИМ, но 6 и 7 не являются чем-то особенным., @Juraj


1 ответ


2

Выводы D2 и D3 на Arduino nano поддерживают внешнее прерывание. Следовательно, вы должны использовать один из них для прерывания.

Поскольку вы используете softwareSerial(), вы можете легко переназначить его на другие цифровые контакты Nano.

Пины от D4–D12 можно использовать для связи. Вам просто нужно изменить параметры в softwareserial(), как показано ниже:

SoftwareSerial mySerial(4, 5); // RX, TX;;например

,

откуда вы знаете, что OP использует SoftwareSerial? это не упоминается в вопросе. Я сделал дикую догадку в комментарии, @Juraj