Nucleo Deep Sleep wakeup

Dependencies:   WakeUp mbed

Fork of Nucleo_sleep by ST

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "WakeUp.h"
00003 InterruptIn event(USER_BUTTON);
00004 DigitalOut myled(LED1);
00005 
00006 int go_to_sleep = 0;
00007 
00008 void pressed()
00009 {
00010     printf("Button pressed\n");
00011     go_to_sleep = go_to_sleep + 1;
00012     if (go_to_sleep > 3) go_to_sleep = 0;
00013 
00014 }
00015 
00016 int main()
00017 {
00018      set_time(1495040081);  // Set RTC time to Wed, 28 Oct 2009 11:35:37
00019     int i = 0;
00020 
00021     printf("\nPress Button to enter/exit sleep & deepsleep\n");
00022 
00023     event.fall(&pressed);
00024 
00025     while (1) {
00026                   
00027                   
00028         time_t seconds = time(NULL);
00029         printf("Time = %s", ctime(&seconds));
00030  
00031         char buffer[32];
00032         strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
00033   
00034        
00035 
00036 
00037  WakeUp::set_ms(10000);
00038        // if (go_to_sleep == 3) {
00039             myled = 0;
00040             printf("%d: Entering deepsleep (press user button to resume)\n", i);
00041             deepsleep();
00042         //}
00043 
00044         i++;
00045     }
00046 }