Oliver Ainhirn
/
83_Thread_Signal
Signal mit mehrere LEDs
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" 00002 00003 Thread thread; 00004 Thread thread2; 00005 DigitalOut led(LED1); 00006 DigitalOut led2(LED2); 00007 DigitalOut led3(LED3); 00008 00009 void led_thread() { 00010 while (true) { 00011 // Signal flags that are reported as event are automatically cleared. 00012 Thread::signal_wait(0x1); 00013 led = !led; 00014 Thread::signal_wait(0x2); 00015 led3 = !led3; 00016 } 00017 } 00018 00019 void led_thread2() { 00020 while (true) { 00021 // Signal flags that are reported as event are automatically cleared. 00022 Thread::signal_wait(0x2); 00023 led2 = !led2; 00024 } 00025 } 00026 int main (void) { 00027 thread.start(callback(led_thread)); 00028 thread2.start(callback(led_thread2)); 00029 00030 while (true) { 00031 wait(1); 00032 thread.signal_set(0x1); 00033 wait(1); 00034 thread.signal_set(0x2); 00035 wait(1); 00036 thread2.signal_set(0x2); 00037 } 00038 00039 00040 }
Generated on Wed Jul 20 2022 05:53:46 by 1.7.2