ss

Dependencies:   mbed-stm32l0/l1-src

Fork of Nucleo_sleep by ST

Revision:
1:58b6efe82b46
Parent:
0:69ffa4abe5b6
Child:
2:09cd5f5c566f
diff -r 69ffa4abe5b6 -r 58b6efe82b46 main.cpp
--- a/main.cpp	Fri Feb 21 10:27:35 2014 +0000
+++ b/main.cpp	Wed Jan 27 14:50:17 2016 +0000
@@ -1,34 +1,47 @@
 #include "mbed.h"
- 
+
 InterruptIn event(USER_BUTTON);
 DigitalOut myled(LED1);
- 
+Serial pc(SERIAL_TX, SERIAL_RX);
+
 int go_to_sleep = 0;
- 
+
 void pressed()
 {
-    printf("Button pressed\n");
-    go_to_sleep = !go_to_sleep;
+    pc.printf("Button pressed\n");
+    go_to_sleep = go_to_sleep + 1;
+    if (go_to_sleep > 3) go_to_sleep = 0;
+
 }
- 
+
 int main()
 {
     int i = 0;
- 
+
+    pc.printf("\nPress Button to enter/exit sleep & deepsleep\n");
+
     event.fall(&pressed);
- 
+
     while (1) {
-        if (go_to_sleep) {
-            myled = 1;
-            printf("%d: Entering sleep (press user button to resume)\n", i);
-            sleep();
-            //deepsleep();
-            //wait(0.1);
-        } else {
-            printf("%d: Running\n", i);
+
+        if ((go_to_sleep == 0) || (go_to_sleep == 2)) {
+            pc.printf("%d: Running\n", i);
             myled = !myled;
             wait(1.0);
         }
+
+        if (go_to_sleep == 1) {
+            myled = 0;
+            pc.printf("%d: Entering sleep (press user button to resume)\n", i);
+            sleep();
+        }
+
+        if (go_to_sleep == 3) {
+            myled = 0;
+            pc.printf("%d: Entering deepsleep (press user button to resume)\n", i);
+            deepsleep();
+        }
+
         i++;
     }
 }