diff --git a/src/LoRa.cpp b/src/LoRa.cpp index 5fb4256..3d62073 100644 --- a/src/LoRa.cpp +++ b/src/LoRa.cpp @@ -283,9 +283,13 @@ void LoRaClass::onReceive(void(*callback)(int)) writeRegister(REG_DIO_MAPPING_1, 0x00); + SPI.usingInterrupt(digitalPinToInterrupt(_dio0)); attachInterrupt(digitalPinToInterrupt(_dio0), LoRaClass::onDio0Rise, RISING); } else { detachInterrupt(digitalPinToInterrupt(_dio0)); +#ifdef SPI_HAS_NOTUSINGINTERRUPT + SPI.notUsingInterrupt(digitalPinToInterrupt(_dio0)); +#endif } }