![](/media/cache/profiles/1c65edfdcd4ef282f3953f359c5e7209.jpg.50x50_q85.jpg)
Blinky example with two pushbuttons
Fork of mbed_blinky_low_power by
main.cpp
- Committer:
- Laplace
- Date:
- 2015-05-18
- Revision:
- 3:82208e3277e8
- Parent:
- 0:b0927d62ef70
File content as of revision 3:82208e3277e8:
#include "mbed.h" DigitalOut myled0(LED0); DigitalOut myled1(LED1); InterruptIn pb0(SW0); InterruptIn pb1(SW1); LowPowerTicker toggleTicker; float new_freq = 0.2f; bool ledblink = true; // Callback for toggler void ledToggler(void) { myled0 = !myled0 * ledblink; myled1 = !myled1 * (1-ledblink); } // Callback for pushbutton interrupt void pb0_handler() { ledblink = !ledblink; } void pb1_handler() { if (ledblink) { new_freq = new_freq/2; } else { new_freq = new_freq*2; } } int main() { float freq = 0.0f; //Enable the PB-handler pb0.rise(NULL); pb0.fall(&pb0_handler); pb1.rise(NULL); pb1.fall(&pb1_handler); while(1) { if (freq != new_freq) { toggleTicker.detach(); toggleTicker.attach(&ledToggler, new_freq); freq = new_freq; } sleep(); } }