PlatformMutex class example - RTOS independent

Files at this revision

API Documentation at this revision

Comitter:
deepikabhavnani
Date:
Thu Nov 30 22:14:35 2017 +0000
Commit message:
Initial Draft;

Changed in this revision

.gitignore Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed-os.lib Show annotated file Show diff for this revision Revisions of this file
--- /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