Nucleo Deep Sleep wakeup

Dependencies:   WakeUp mbed

Fork of Nucleo_sleep by ST

Committer:
jeromecoutant
Date:
Wed Aug 17 10:06:07 2016 +0000
Revision:
2:4a344badae18
Parent:
1:58b6efe82b46
Child:
3:bce615e05c62
No need to define serial;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:69ffa4abe5b6 1 #include "mbed.h"
bcostm 1:58b6efe82b46 2
bcostm 0:69ffa4abe5b6 3 InterruptIn event(USER_BUTTON);
bcostm 0:69ffa4abe5b6 4 DigitalOut myled(LED1);
bcostm 1:58b6efe82b46 5
bcostm 0:69ffa4abe5b6 6 int go_to_sleep = 0;
bcostm 1:58b6efe82b46 7
bcostm 0:69ffa4abe5b6 8 void pressed()
bcostm 0:69ffa4abe5b6 9 {
jeromecoutant 2:4a344badae18 10 printf("Button pressed\n");
bcostm 1:58b6efe82b46 11 go_to_sleep = go_to_sleep + 1;
bcostm 1:58b6efe82b46 12 if (go_to_sleep > 3) go_to_sleep = 0;
bcostm 1:58b6efe82b46 13
bcostm 0:69ffa4abe5b6 14 }
bcostm 1:58b6efe82b46 15
bcostm 0:69ffa4abe5b6 16 int main()
bcostm 0:69ffa4abe5b6 17 {
bcostm 0:69ffa4abe5b6 18 int i = 0;
bcostm 1:58b6efe82b46 19
jeromecoutant 2:4a344badae18 20 printf("\nPress Button to enter/exit sleep & deepsleep\n");
bcostm 1:58b6efe82b46 21
bcostm 0:69ffa4abe5b6 22 event.fall(&pressed);
bcostm 1:58b6efe82b46 23
bcostm 0:69ffa4abe5b6 24 while (1) {
bcostm 1:58b6efe82b46 25
bcostm 1:58b6efe82b46 26 if ((go_to_sleep == 0) || (go_to_sleep == 2)) {
jeromecoutant 2:4a344badae18 27 printf("%d: Running\n", i);
bcostm 0:69ffa4abe5b6 28 myled = !myled;
bcostm 0:69ffa4abe5b6 29 wait(1.0);
bcostm 0:69ffa4abe5b6 30 }
bcostm 1:58b6efe82b46 31
bcostm 1:58b6efe82b46 32 if (go_to_sleep == 1) {
bcostm 1:58b6efe82b46 33 myled = 0;
jeromecoutant 2:4a344badae18 34 printf("%d: Entering sleep (press user button to resume)\n", i);
bcostm 1:58b6efe82b46 35 sleep();
bcostm 1:58b6efe82b46 36 }
bcostm 1:58b6efe82b46 37
bcostm 1:58b6efe82b46 38 if (go_to_sleep == 3) {
bcostm 1:58b6efe82b46 39 myled = 0;
jeromecoutant 2:4a344badae18 40 printf("%d: Entering deepsleep (press user button to resume)\n", i);
bcostm 1:58b6efe82b46 41 deepsleep();
bcostm 1:58b6efe82b46 42 }
bcostm 1:58b6efe82b46 43
bcostm 0:69ffa4abe5b6 44 i++;
bcostm 0:69ffa4abe5b6 45 }
bcostm 0:69ffa4abe5b6 46 }