Использование библиотеки Arduino LMIC с возможностью прерывания
Я использую библиотеку EnableInterrupt, единственную библиотеку, которую я могу найти, которая позволяет мне использовать шесть прерываний для пробуждения Arduino. Однако, когда я использую его с библиотекой LMIC (Маттис Коойман), "Сообщение о передаче данных по восходящей линии связи" не отправляется во время первоначальной регистрации, только если #включить <EnableInterrupt.h> закомментирован, работает ли это. Я использую RFM95 со следующими назначениями контактов LMIC:
константа lmic_pinmap lmic_pins = { .nss = 10, .rxtx = LMIC_UNUSED_PIN, .rst = 9, .dio = {3, 8, LMIC_UNUSED_PIN}, };
Это должно быть как-то связано с ISR общего доступа к библиотеке. Может ли кто-нибудь указать, какие части библиотеки LMIC, чтобы избежать этого конфликта?
Я пробовал поменять 8 на A5, и это снова работает только тогда, когда строка прокомментирована. Любая помощь будет очень признательна.
1 ответ
Это лучшее, что я могу сделать для работы с 6 доступными прерываниями смены контактов - как раз достаточно!
#define EI_ARDUINO_INTERRUPTED_PIN
#define EI_NOTPORTB // ОТКЛЮЧИТЬ ДЛЯ LMIC
#define EI_NOTPORTD // ОТКЛЮЧИТЬ ДЛЯ LMIC
- Как сгенерировать аппаратное прерывание в mpu6050 для пробуждения Arduino из режима SLEEP_MODE_PWR_DOWN?
- Arduino непрерывно считывает значение АЦП с помощью прерывания
- Как правильно использовать volatile переменные в Arduino?
- Как прервать функцию цикла и перезапустить ее?
- 4-битный счетчик вверх и вниз
- Включить и отключить отдельные прерывания
- Управление функцией включения на драйвере микрошагового устройства
- Захват прерывания на обоих фронтах, когда он установлен на RISING или FALLING
Мне удалось заставить его работать, указав #определите EI_NOTPORTD, однако он не работает с #определите EI_ARDUINO_INТЕРРУПТЕД_ПИН, который необходим для функционирования моего проекта., @Jaspal Singh Rathour