very simple Freertos hello world

Dependencies:   mbed freertos_test FreeRTOS

Dependents:   freertos_test

Revision:
0:7f7fa5e631ec
Child:
1:be76e6fdff84
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Sun Sep 13 11:10:48 2015 +0000
@@ -0,0 +1,45 @@
+// http://www.radekdostal.com/content/freertos-610-minimal-example
+
+#include "mbed.h"
+#include "FreeRTOS.h"
+#include "task.h"
+
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
+
+void Task1 (void* pvParameters)
+{       
+    (void) pvParameters;                    // Just to stop compiler warnings.   
+    for (;;) {
+        vTaskDelay(500);
+        led1 = !led1;
+        printf("Task A\n");
+        vTaskDelay(500);
+    }
+}
+
+void Task2 (void* pvParameters)
+{
+    (void) pvParameters;                    // Just to stop compiler warnings.
+    for (;;) {
+        led2= !led2;
+        printf("Task B\n");
+        vTaskDelay(5000);
+    }
+}
+
+int main (void)
+{
+    xTaskCreate( Task1, ( signed char * ) "TaskA", configMINIMAL_STACK_SIZE, NULL,
+        tskIDLE_PRIORITY, ( xTaskHandle * ) NULL );
+    xTaskCreate( Task2, ( signed char * ) "TaskB", configMINIMAL_STACK_SIZE, NULL, 
+        tskIDLE_PRIORITY, ( xTaskHandle * ) NULL );
+
+    vTaskStartScheduler();
+
+   //should never get here
+   printf("ERORR: vTaskStartScheduler returned!");
+   for (;;);
+}
\ No newline at end of file