Blinky disco lights for the K64F implemented with RTOS threads.

Dependencies:   mbed-rtos mbed

Committer:
bundgus
Date:
Thu Aug 07 03:03:03 2014 +0000
Revision:
0:f1e76cd00a6e
Initial Commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bundgus 0:f1e76cd00a6e 1 #include "mbed.h"
bundgus 0:f1e76cd00a6e 2 #include "rtos.h"
bundgus 0:f1e76cd00a6e 3
bundgus 0:f1e76cd00a6e 4 void blinkLED1(void const *args) {
bundgus 0:f1e76cd00a6e 5 DigitalOut led1(LED1);
bundgus 0:f1e76cd00a6e 6 while(true){
bundgus 0:f1e76cd00a6e 7 led1 = !led1;
bundgus 0:f1e76cd00a6e 8 Thread::wait(300);
bundgus 0:f1e76cd00a6e 9 }
bundgus 0:f1e76cd00a6e 10 }
bundgus 0:f1e76cd00a6e 11
bundgus 0:f1e76cd00a6e 12 void blinkLED2(void const *args) {
bundgus 0:f1e76cd00a6e 13 DigitalOut led2(LED2);
bundgus 0:f1e76cd00a6e 14 while(true){
bundgus 0:f1e76cd00a6e 15 led2 = !led2;
bundgus 0:f1e76cd00a6e 16 Thread::wait(500);
bundgus 0:f1e76cd00a6e 17 }
bundgus 0:f1e76cd00a6e 18 }
bundgus 0:f1e76cd00a6e 19
bundgus 0:f1e76cd00a6e 20 void blinkLED3(void const *args) {
bundgus 0:f1e76cd00a6e 21 DigitalOut led3(LED3);
bundgus 0:f1e76cd00a6e 22 while(true){
bundgus 0:f1e76cd00a6e 23 led3 = !led3;
bundgus 0:f1e76cd00a6e 24 Thread::wait(800);
bundgus 0:f1e76cd00a6e 25 }
bundgus 0:f1e76cd00a6e 26 }
bundgus 0:f1e76cd00a6e 27 int main() {
bundgus 0:f1e76cd00a6e 28
bundgus 0:f1e76cd00a6e 29 Thread thread1(blinkLED1);
bundgus 0:f1e76cd00a6e 30 Thread thread2(blinkLED2);
bundgus 0:f1e76cd00a6e 31 Thread thread3(blinkLED3);
bundgus 0:f1e76cd00a6e 32
bundgus 0:f1e76cd00a6e 33 while (true) {
bundgus 0:f1e76cd00a6e 34 Thread::wait(250);
bundgus 0:f1e76cd00a6e 35 }
bundgus 0:f1e76cd00a6e 36
bundgus 0:f1e76cd00a6e 37 }