Add two threads into the IOT WIFIDemo for test_JacobShi
Dependencies: C12832 HTTPClient wifiontros wifirtos mbed
Fork of frdm_rtos by
Diff: main.cpp
- Revision:
- 0:7fd883bfe9a3
- Child:
- 3:5f921ff0868d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Thu Apr 03 11:51:25 2014 +0000 @@ -0,0 +1,43 @@ +#include "mbed.h" +#include "rtos.h" + +DigitalOut led1(LED1); +InterruptIn sw2(SW2); +uint32_t button_pressed; +Thread *thread2; + +void sw2_press(void) +{ + thread2->signal_set(0x1); +} + +void led_thread(void const *argument) +{ + while (true) { + led1 = !led1; + Thread::wait(1000); + } +} + +void button_thread(void const *argument) +{ + while (true) { + Thread::signal_wait(0x1); + button_pressed++; + } +} + +int main() +{ + Thread thread(led_thread); + thread2 = new Thread(button_thread); + + button_pressed = 0; + sw2.fall(&sw2_press); + while (true) { + Thread::wait(5000); + printf("SW2 was pressed (last 5 seconds): %d \n", button_pressed); + fflush(stdout); + button_pressed = 0; + } +}