2 leds blinking with 2 different threads

Committer:
iandil
Date:
Thu Nov 15 13:56:51 2018 +0000
Revision:
0:05b174e27260
Finished threads synchronization

Who changed what in which revision?

UserRevisionLine numberNew contents of line
iandil 0:05b174e27260 1 #include "mbed.h"
iandil 0:05b174e27260 2
iandil 0:05b174e27260 3
iandil 0:05b174e27260 4 DigitalOut led2(LED2);
iandil 0:05b174e27260 5 DigitalOut led3(LED3);
iandil 0:05b174e27260 6
iandil 0:05b174e27260 7 // Blink function toggles the led in a long running loop
iandil 0:05b174e27260 8 void blink_led(DigitalOut *led) {
iandil 0:05b174e27260 9 *led = !*led;
iandil 0:05b174e27260 10 wait(1);
iandil 0:05b174e27260 11 *led = !*led;
iandil 0:05b174e27260 12 }
iandil 0:05b174e27260 13
iandil 0:05b174e27260 14
iandil 0:05b174e27260 15
iandil 0:05b174e27260 16 // Spawns a thread to run blink for 5 seconds
iandil 0:05b174e27260 17 int main() {
iandil 0:05b174e27260 18 while(1) {
iandil 0:05b174e27260 19 Thread thread1;
iandil 0:05b174e27260 20 Thread thread2;
iandil 0:05b174e27260 21 thread1.start(callback(blink_led, &led2));
iandil 0:05b174e27260 22 thread1.join();
iandil 0:05b174e27260 23 thread2.start(callback(blink_led, &led3));
iandil 0:05b174e27260 24 thread2.join();
iandil 0:05b174e27260 25 }
iandil 0:05b174e27260 26 }