KEIS
Dependencies: C12832_lcd mbed-rtos mbed
main.cpp
- Committer:
- khayakawa
- Date:
- 2013-09-28
- Revision:
- 0:b9a7a54d863b
File content as of revision 0:b9a7a54d863b:
#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);
}