Использование библиотеки 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

Обсуждение

Мне удалось заставить его работать, указав #определите EI_NOTPORTD, однако он не работает с #определите EI_ARDUINO_INТЕРРУПТЕД_ПИН, который необходим для функционирования моего проекта., @Jaspal Singh Rathour


1 ответ


1

Это лучшее, что я могу сделать для работы с 6 доступными прерываниями смены контактов - как раз достаточно!

#define EI_ARDUINO_INTERRUPTED_PIN
#define EI_NOTPORTB  // ОТКЛЮЧИТЬ ДЛЯ LMIC
#define EI_NOTPORTD  // ОТКЛЮЧИТЬ ДЛЯ LMIC
,