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/software_timer/software_timer.ino | |
parent | 614ee97bf3a2270c413527a7f35c54cbecd9e601 (diff) |
added basic code
Diffstat (limited to 'arduino/libraries/Bluefruit52Lib/examples/Hardware/software_timer/software_timer.ino')
-rwxr-xr-x | arduino/libraries/Bluefruit52Lib/examples/Hardware/software_timer/software_timer.ino | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/arduino/libraries/Bluefruit52Lib/examples/Hardware/software_timer/software_timer.ino b/arduino/libraries/Bluefruit52Lib/examples/Hardware/software_timer/software_timer.ino new file mode 100755 index 0000000..8a63990 --- /dev/null +++ b/arduino/libraries/Bluefruit52Lib/examples/Hardware/software_timer/software_timer.ino @@ -0,0 +1,58 @@ +/********************************************************************* + This is an example for our nRF52 based Bluefruit LE 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 +*********************************************************************/ +#include <Arduino.h> + +/* SoftwareTimer is a helper class that uses FreeRTOS software timer + * to invoke callback. Its periodic timing is flexible as opposed to + * hardware timer and cannot be faster than rtos's tick which is configured + * at ~1 ms interval. + * + * If you need an strict interval timing, or faster frequency, check out + * the hw_systick sketch example that use hardware systick timer. + * + * http://www.freertos.org/RTOS-software-timer.html + */ +SoftwareTimer blinkTimer; + + +void setup() +{ + // Configure the timer with 1000 ms interval, with our callback + blinkTimer.begin(1000, blink_timer_callback); + + // Start the timer + blinkTimer.start(); +} + +void loop() +{ + // do nothing here +} + + +/** + * Software Timer callback is invoked via a built-in FreeRTOS thread with + * minimal stack size. Therefore it should be as simple as possible. If + * a periodically heavy task is needed, please use Scheduler.startLoop() to + * create a dedicated task for it. + * + * More information http://www.freertos.org/RTOS-software-timer.html + */ +void blink_timer_callback(TimerHandle_t xTimerID) +{ + // freeRTOS timer ID, ignored if not used + (void) xTimerID; + + digitalToggle(LED_RED); +} |