WFI sleep and wake-up for GR-PEACH

Dependencies:   mbed

Committer:
pateshian
Date:
Thu Nov 17 16:33:21 2016 +0000
Revision:
1:e508448feb1c
Parent:
0:ab9939da6645
WFI based sleep and wake-up for GR-PEACH on mbed5.X

Who changed what in which revision?

UserRevisionLine numberNew contents of line
pateshian 0:ab9939da6645 1 #include "mbed.h"
pateshian 0:ab9939da6645 2 #define IRQ4 (36)
pateshian 0:ab9939da6645 3 gpio_irq_t irqHandler;
pateshian 0:ab9939da6645 4 DigitalOut led1(LED1);
pateshian 0:ab9939da6645 5 int gFlag = 0;
pateshian 0:ab9939da6645 6 void interrupt_irq4_user (uint32_t id, gpio_irq_event event) {
pateshian 0:ab9939da6645 7 if (!gFlag){
pateshian 0:ab9939da6645 8 gFlag = 1;
pateshian 0:ab9939da6645 9 }
pateshian 0:ab9939da6645 10 }
pateshian 0:ab9939da6645 11 // main() runs in its own thread in the OS
pateshian 0:ab9939da6645 12 // (note the calls to Thread::wait below for delays)
pateshian 0:ab9939da6645 13 int main() {
pateshian 1:e508448feb1c 14 gpio_irq_init (&irqHandler, USER_BUTTON0, interrupt_irq4_user, IRQ4);
pateshian 0:ab9939da6645 15 while (true) {
pateshian 0:ab9939da6645 16 if ( gFlag == 1 ) {
pateshian 0:ab9939da6645 17 gFlag = 0;
pateshian 0:ab9939da6645 18 led1 = led1;
pateshian 0:ab9939da6645 19 __WFI();
pateshian 0:ab9939da6645 20 led1 = !led1;
pateshian 0:ab9939da6645 21 }
pateshian 0:ab9939da6645 22 //led1 = !led1;
pateshian 0:ab9939da6645 23 //Thread::wait(500);
pateshian 0:ab9939da6645 24 }
pateshian 0:ab9939da6645 25 }