Basic example showing the Semaphore API

Dependencies:   mbed-rtos mbed

mbed 2 and mbed OS 5

This is an mbed 2 example. mbed OS 5 has integrated the mbed library with mbed-rtos. For an mbed-os example, please see:

Import programrtos_semaphore

semaphore example

Files at this revision

API Documentation at this revision

Comitter:
emilmont
Date:
Fri Jul 13 10:52:33 2012 +0000
Parent:
0:743b15bc7d6f
Child:
2:27ed86b056b1
Commit message:
First implementation

Changed in this revision

main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
--- a/main.cpp	Fri Jul 13 10:49:19 2012 +0000
+++ b/main.cpp	Fri Jul 13 10:52:33 2012 +0000
@@ -0,0 +1,20 @@
+#include "mbed.h"
+#include "rtos.h"
+
+Semaphore two_slots(2);
+
+void test_thread(void const *name) {
+    while (true) {
+        two_slots.wait();
+        printf("%s\n\r", (const char*)name);
+        Thread::wait(1000);
+        two_slots.release();
+    }
+}
+
+int main (void) {
+    Thread t2(test_thread, (void *)"Th 2");
+    Thread t3(test_thread, (void *)"Th 3");
+    
+    test_thread((void *)"Th 1");
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Fri Jul 13 10:52:33 2012 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed-rtos/#01158bb7600c