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:
- 5:574f47121e8e
- Parent:
- 4:ec4791bc6554
- Child:
- 6:1a383b363dc3
--- a/main.cpp Wed Jan 11 14:39:06 2017 +0000 +++ b/main.cpp Fri Jan 13 19:50:12 2017 +0000 @@ -1,21 +1,19 @@ #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); - Thread::wait(1000); + wait(1); 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"));