diff options
author | Clyne Sullivan <tullivan99@gmail.com> | 2019-02-28 17:04:22 -0500 |
---|---|---|
committer | Clyne Sullivan <tullivan99@gmail.com> | 2019-02-28 17:04:22 -0500 |
commit | d6869d1ec4bd24cd2c3eafa534f0849b25ec5607 (patch) | |
tree | 79e54ed27b39c31864895535d11399708d5a45c0 /arduino/libraries/Bluefruit52Lib/examples/Hardware/digital_interrupt_deferred | |
parent | 614ee97bf3a2270c413527a7f35c54cbecd9e601 (diff) |
added basic code
Diffstat (limited to 'arduino/libraries/Bluefruit52Lib/examples/Hardware/digital_interrupt_deferred')
-rwxr-xr-x | arduino/libraries/Bluefruit52Lib/examples/Hardware/digital_interrupt_deferred/digital_interrupt_deferred.ino | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/arduino/libraries/Bluefruit52Lib/examples/Hardware/digital_interrupt_deferred/digital_interrupt_deferred.ino b/arduino/libraries/Bluefruit52Lib/examples/Hardware/digital_interrupt_deferred/digital_interrupt_deferred.ino new file mode 100755 index 0000000..464e31b --- /dev/null +++ b/arduino/libraries/Bluefruit52Lib/examples/Hardware/digital_interrupt_deferred/digital_interrupt_deferred.ino @@ -0,0 +1,46 @@ +/********************************************************************* + This is an example for our Feather Bluefruit modules + + Pick one up today in the adafruit shop! + + Adafruit invests time and resources providing this open source code, + please support Adafruit and open-source hardware by purchasing + products from Adafruit! + + MIT license, check LICENSE for more information + All text above, and the splash screen below must be included in + any redistribution +*********************************************************************/ + +/* + * This sketch demonstrate how to pass ISR_DEFFERED as additional parameter + * to defer callback from ISR context with attachInterrupt + */ +#include <Arduino.h> + +int interruptPin = A0; + +void setup() +{ + Serial.begin(115200); + + pinMode(interruptPin, INPUT_PULLUP); + + // ISR_DEFERRED flag cause the callback to be deferred from ISR context + // and invoked within a callback thread. + // It is required to use ISR_DEFERRED if callback function take long time + // to run e.g Serial.print() or using any of Bluefruit API() which will + // potentially call rtos API + attachInterrupt(interruptPin, digital_callback, ISR_DEFERRED | CHANGE); +} + +void loop() +{ + // nothing to do +} + +void digital_callback(void) +{ + Serial.print("Pin value: "); + Serial.println(digitalRead(interruptPin)); +} |