We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Platform: Seeeduino XIAO SAMD21
Device supports Interrupts on any and all pins (just not 5 & 7 at the same time)
The input IO lines are all strapped low for test.
Setting up 6 interrupts:
const uint8_t switchPins[] = { 0, 1, 2, 3, 8, 10 }; const uint8_t numSwitches = sizeof(switchPins) / sizeof(switchPins[0]); void (*ISRFunctions[numSwitches])() = { [] { switchChanged(0); }, [] { switchChanged(1); }, [] { switchChanged(2); }, [] { switchChanged(3); }, [] { switchChanged(4); }, [] { switchChanged(5); } }; void setup(){ ... for (uint8_t i = 0; i < numSwitches; i++) { pinMode(switchPins[i], INPUT_PULLUP); } delay(500); for (uint8_t i = 0; i < numSwitches; i++) { LowPower.attachInterruptWakeup((digitalPinToInterrupt(switchPins[i])), ISRFunctions[i], CHANGE); } delay(1000); } //This will trigger 5 (not 6) calls to the ISR The current workaround: for (uint8_t i = 0; i < numSwitches; i++) { LowPower.attachInterruptWakeup((digitalPinToInterrupt(switchPins[i])), ISRFunctions[i], RISING); } delay(1000); for (uint8_t i = 0; i < numSwitches; i++) { LowPower.attachInterruptWakeup((digitalPinToInterrupt(switchPins[i])), ISRFunctions[i], CHANGE); } delay(1000);
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Platform: Seeeduino XIAO SAMD21
Device supports Interrupts on any and all pins (just not 5 & 7 at the same time)
The input IO lines are all strapped low for test.
Setting up 6 interrupts:
The text was updated successfully, but these errors were encountered: