KEIS
Dependencies: C12832_lcd mbed-rtos mbed
Diff: main.cpp
- Revision:
- 0:b9a7a54d863b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Sep 28 07:11:02 2013 +0000 @@ -0,0 +1,55 @@ +#include "mbed.h" +#include "rtos.h" +#include "C12832_lcd.h" + +C12832_LCD lcd; +Mutex lcd_mutex; + +void lcd_thread1(void const *argument) { + int count1; + while (true) { + Thread::signal_wait(0x1); + lcd_mutex.lock(); + lcd.locate(0,3); + lcd.printf("%thread2 count: %d\n\r", count1); + lcd_mutex.unlock(); + count1++; + } +} + +void count_thread1(void const *argument){ + Thread thread2(lcd_thread1); + while (true) { + Thread::wait(1000); + thread2.signal_set(0x1); + } +} + +void lcd_thread2(void const *argument) { + int count2=0; + while (true) { + Thread::signal_wait(0x1); + // lcd_mutex.lock(); + lcd.locate(0,15); + lcd.printf("%thread4 count: %d\n\r", count2); + // lcd_mutex.unlock(); + count2++; + } +} + +void count_thread2(void const *argument){ + Thread thread4(lcd_thread2); + while (true) { + Thread::wait(2000); + thread4.signal_set(0x1); + } +} + +int main() { + lcd.cls(); + Thread thread1(count_thread1); +// Thread thread2(lcd_thread1); + Thread thread3(count_thread2); +// Thread thread4(lcd_thread2); + Thread::wait(osWaitForever); +}