![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Projecte final de Sistemes Encastats
Dependencies: Hc05 RawSerialPc mbed-rtos mbed
Diff: main.cpp
- Revision:
- 6:c4af95f6e155
- Parent:
- 4:0a37a963b724
- Child:
- 7:723c1e609ac8
--- a/main.cpp Sat Dec 19 01:14:44 2015 +0000 +++ b/main.cpp Mon Dec 21 19:14:16 2015 +0000 @@ -3,21 +3,20 @@ #include "Hc05.h" #include "RawSerialPc.h" + RawSerialPc pc(USBTX, USBRX); //Per provar si funciona, no cal al programa Hc05 bt(D8, D2); //Crea l'objecte bt, connectat als pins D8 (TX) i D2 (RX) (és la connexió sèrie BT) -char prova[longString] = "hola"; //Per provar si funciona, no cal al programa - //Aquest serà el meu fil, que va llegint cada 300ms del HC-05 void llegir_thread(void const *args) { while (true) { + //Intenta llegir un string, i si el llegeix, el tracta if(bt.llegirString()) bt.tractaString(); - + //Comprova la connexió (mira si ha rebut alguna cosa) bt.comprovaConnexio(); - bt.getStringLlegit(prova); //Per provar si funciona, no cal al programa + //Temps del Thread que està esperant Thread::wait(100); - //bt.comprovaConnexio(); } } @@ -25,20 +24,16 @@ //Aquest serà el programa principal int main() { - Thread thread(llegir_thread); //Inicia el fil llegir_thread - char m[128]; + Thread thread(llegir_thread); //Inicia el fil llegir_thread + char m[128]; //Per visualitzar el mode i el timer, no es necessari while (true) { - pc.enviaString(prova); //Per provar si funciona, no cal al programa - if(bt.getAng()<0) //Per provar si funciona, no cal al programa - pc.enviaString("ANGLE<0"); //Per provar si funciona, no cal al programa - if(bt.getVel()== 60) //Per provar si funciona, no cal al programa - pc.enviaString("VEL=60"); //Per provar si funciona, no cal al programa - //if(bt.getMode()<0) - //pc.enviaString("ALERTA! S'ha perdut la connexio"); //Retorna 0 si ha llegit l'ordre parar, 1 per avançar, 2 per rotar, -1 si hi ha error de connexio - snprintf(m, 128, "Mode: %d | timer: %dms", bt.getMode(), bt.getTimer()); - pc.enviaString(m); - bt.getVel(); //Retorna un enter amb la velocitat (de 0 a 100) - bt.getAng(); //Retorna un enter amb l'angle (de -180º a 180º) - Thread::wait(500); + pc.enviaString(bt.strLlegit); //Per veure l'ultim string llegit, no es necessari + snprintf(m, 128, "Mode: %d | timer: %dms", bt.getMode(), bt.getTimer()); //Per visualitzar el mode i el timer, no es necessari + pc.enviaString(m); //Per visualitzar el mode i el timer, no es necessari + pc.enviaString(bt.strPos); //Per visualitzar la posicio on ha d'anar el robot, no es necessari + pc.enviaString(bt.strM1); //String motor1 que s'envia a l'arduino d'en Marcel + pc.enviaString(bt.strM2); //String motor2 que s'envia a l'arduino d'en Marcel + pc.enviaString(bt.strM3); //String motor3 que s'envia a l'arduino d'en Marcel + Thread::wait(500); //Temps del Thread que està esperant } } \ No newline at end of file