mbed_example
/
mbed-os-example-platform-mutex
PlatformMutex class example - RTOS independent
Revision 0:2084d9e90526, committed 2017-11-30
- Comitter:
- deepikabhavnani
- Date:
- Thu Nov 30 22:14:35 2017 +0000
- Commit message:
- Initial Draft;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/.gitignore Thu Nov 30 22:14:35 2017 +0000 @@ -0,0 +1,4 @@ +.build +.mbed +projectfiles +*.py*
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Nov 30 22:14:35 2017 +0000 @@ -0,0 +1,25 @@ +#include "mbed.h" + +PlatformMutex stdio_mutex; +Thread t2; +Thread t3; + +void notify(const char* name, int state) { + stdio_mutex.lock(); + printf("%s: %d\n\r", name, state); + stdio_mutex.unlock(); +} + +void test_thread(void const *args) { + while (true) { + notify((const char*)args, 0); wait(1); + notify((const char*)args, 1); wait(1); + } +} + +int main() { + t2.start(callback(test_thread, (void *)"Th 2")); + t3.start(callback(test_thread, (void *)"Th 3")); + + test_thread((void *)"Th 1"); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed-os.lib Thu Nov 30 22:14:35 2017 +0000 @@ -0,0 +1,1 @@ +https://github.com/ARMmbed/mbed-os/#182bbd51bc8d1b6217477c2b5de3f1d0c5e6249f