This is a sample to make sleep using OS.

Revision:
0:680321964ff9
Child:
1:8ba32924482c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Fri Nov 18 08:52:33 2016 +0000
@@ -0,0 +1,31 @@
+#include "mbed.h"
+#include "rtos.h"
+
+InterruptIn button(USER_BUTTON0);
+DigitalOut led1(LED1);
+Thread * pTestTask = NULL;
+
+static void interrupt_button(void) {
+    if (pTestTask != NULL) {
+        pTestTask->signal_set(1);
+    }
+}
+
+void test_task(void) {
+    int test_cnt = 0;
+
+    button.fall(&interrupt_button);
+    button.rise(&interrupt_button);
+
+    while (true) {
+        // It becomes sleep during idle task.
+        Thread::signal_wait(1);
+        led1 = !led1;
+        printf("%d\n", test_cnt++);
+    }
+}
+
+int main() {
+    pTestTask = new Thread();
+    pTestTask->start(test_task);
+}