Oliver Ainhirn
/
83_Thread_Signal
Signal mit mehrere LEDs
Diff: main.cpp
- Revision:
- 0:4ab541d4cb3b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Mar 21 18:49:53 2019 +0000 @@ -0,0 +1,40 @@ +#include "mbed.h" + +Thread thread; +Thread thread2; +DigitalOut led(LED1); +DigitalOut led2(LED2); +DigitalOut led3(LED3); + +void led_thread() { + while (true) { + // Signal flags that are reported as event are automatically cleared. + Thread::signal_wait(0x1); + led = !led; + Thread::signal_wait(0x2); + led3 = !led3; + } +} + +void led_thread2() { + while (true) { + // Signal flags that are reported as event are automatically cleared. + Thread::signal_wait(0x2); + led2 = !led2; + } +} +int main (void) { + thread.start(callback(led_thread)); + thread2.start(callback(led_thread2)); + + while (true) { + wait(1); + thread.signal_set(0x1); + wait(1); + thread.signal_set(0x2); + wait(1); + thread2.signal_set(0x2); + } + + +}