mbed application board demo includes lcd, pot, joystick, rgb led, websocket, mbed rtos. websocket demo url is => http://sockets.mbed.org/gordonlu/viewer
Dependencies: C12832 EthernetInterface WebSocketClient mbed-rtos mbed
Fork of rtos_basic by
main.cpp
- Committer:
- gordonlu
- Date:
- 2015-02-06
- Revision:
- 7:71124ec77f83
- Parent:
- 3:c92e21f305d8
- Child:
- 8:421c13d323a0
File content as of revision 7:71124ec77f83:
/*#include "mbed.h" #include "rtos.h" #include "C12832.h" DigitalOut led1(LED1); DigitalOut led2(LED2); C12832 lcd(p5, p7, p6, p8, p11); void led2_thread(void const *args) { while (true) { led2 = !led2; Thread::wait(1000); } } int main() { Thread thread(led2_thread); lcd.cls(); lcd.locate(0,3); lcd.printf("mbed application board!"); while (true) { led1 = !led1; Thread::wait(500); } } */ #include "mbed.h" #include "rtos.h" #include "C12832.h" C12832 lcd(p5, p7, p6, p8, p11); DigitalOut myled1(LED1); DigitalOut myled2(LED2); DigitalOut myled3(LED3); DigitalOut myled4(LED4); PwmOut r (p23); PwmOut g (p24); PwmOut b (p25); AnalogIn pot1(p19); AnalogIn pot2(p20); BusIn joystick(p12, p13, p14, p15, p16); const int LEDNUM = 4; void rollingLed() { static int onled = 0; int led[LEDNUM] = {0,0,0,0}; led[onled] = 1; ++onled; if(onled == 4) onled = 0; myled1 = led[0]; myled2 = led[1]; myled3 = led[2]; myled4 = led[3]; } int main() { int j=1; lcd.cls(); r.period(0.001); g.period(0.001); b.period(0.001); r = 1; g = 1; b = 1; while(true) { float pt1 = pot1.read(); float pt2 = pot2.read(); int js = joystick.read(); lcd.locate(0,1); lcd.printf("Counting : %d JoyStick:%02X",j++ , js); lcd.locate(0,11); lcd.printf("Pot1 : %.3f Pot2 : %.3f", pt1,pt2); lcd.locate(0,21); lcd.printf("-----------Pot END-----------"); r = 1 - pt1; g = 1 - pt2; if(0x10 == js)b = 0; //right, turn on blue led else if (0x02 == js) b = 1; //left, turn of blue led else if(0x01 == js) b.write( b + 0.1); //down else if(0x08 == js) b.write( b - 0.1); //up printf("Pot1 : %.3f Pot2 : %.3f Joystick:%02X\r\n", pt1, pt2, js); rollingLed(); Thread::wait(100); } }