Nucleo Deep Sleep wakeup

Dependencies:   WakeUp mbed

Fork of Nucleo_sleep by ST

Committer:
suads
Date:
Wed May 24 16:29:51 2017 +0000
Revision:
3:bce615e05c62
Parent:
2:4a344badae18
RTC NUCLEO Periodic Wakeup

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bcostm 0:69ffa4abe5b6 1 #include "mbed.h"
suads 3:bce615e05c62 2 #include "WakeUp.h"
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 {
suads 3:bce615e05c62 18 set_time(1495040081); // Set RTC time to Wed, 28 Oct 2009 11:35:37
bcostm 0:69ffa4abe5b6 19 int i = 0;
bcostm 1:58b6efe82b46 20
jeromecoutant 2:4a344badae18 21 printf("\nPress Button to enter/exit sleep & deepsleep\n");
bcostm 1:58b6efe82b46 22
bcostm 0:69ffa4abe5b6 23 event.fall(&pressed);
bcostm 1:58b6efe82b46 24
bcostm 0:69ffa4abe5b6 25 while (1) {
suads 3:bce615e05c62 26
suads 3:bce615e05c62 27
suads 3:bce615e05c62 28 time_t seconds = time(NULL);
suads 3:bce615e05c62 29 printf("Time = %s", ctime(&seconds));
suads 3:bce615e05c62 30
suads 3:bce615e05c62 31 char buffer[32];
suads 3:bce615e05c62 32 strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
suads 3:bce615e05c62 33
suads 3:bce615e05c62 34
bcostm 1:58b6efe82b46 35
bcostm 1:58b6efe82b46 36
suads 3:bce615e05c62 37 WakeUp::set_ms(10000);
suads 3:bce615e05c62 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();
suads 3:bce615e05c62 42 //}
bcostm 1:58b6efe82b46 43
bcostm 0:69ffa4abe5b6 44 i++;
bcostm 0:69ffa4abe5b6 45 }
bcostm 0:69ffa4abe5b6 46 }