Basic example showing the Semaphore API
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
Diff: main.cpp
- Revision:
- 6:1a383b363dc3
- Parent:
- 5:574f47121e8e
--- a/main.cpp Fri Jan 13 19:50:12 2017 +0000 +++ b/main.cpp Wed Feb 15 13:54:49 2017 -0600 @@ -1,19 +1,21 @@ #include "mbed.h" +#include "rtos.h" Semaphore two_slots(2); -Thread t2; -Thread t3; - + void test_thread(void const *name) { while (true) { two_slots.wait(); printf("%s\n\r", (const char*)name); - wait(1); + Thread::wait(1000); two_slots.release(); } } int main (void) { + Thread t2; + Thread t3; + t2.start(callback(test_thread, (void *)"Th 2")); t3.start(callback(test_thread, (void *)"Th 3"));