Projecte final de Sistemes Encastats

Dependencies:   Hc05 RawSerialPc mbed-rtos mbed

Committer:
jcabello7
Date:
Mon Dec 21 19:14:16 2015 +0000
Revision:
6:c4af95f6e155
Parent:
4:0a37a963b724
Child:
7:723c1e609ac8
Versi? final, nom?s falta afegir els programes de la resta de companys.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jcabello7 0:be638f6ee353 1 #include "mbed.h"
jcabello7 0:be638f6ee353 2 #include "rtos.h"
jcabello7 4:0a37a963b724 3 #include "Hc05.h"
jcabello7 4:0a37a963b724 4 #include "RawSerialPc.h"
jcabello7 0:be638f6ee353 5
jcabello7 6:c4af95f6e155 6
jcabello7 4:0a37a963b724 7 RawSerialPc pc(USBTX, USBRX); //Per provar si funciona, no cal al programa
jcabello7 2:1ac2d1debc92 8 Hc05 bt(D8, D2); //Crea l'objecte bt, connectat als pins D8 (TX) i D2 (RX) (és la connexió sèrie BT)
jcabello7 1:c603de57c8b6 9
jcabello7 1:c603de57c8b6 10 //Aquest serà el meu fil, que va llegint cada 300ms del HC-05
jcabello7 0:be638f6ee353 11 void llegir_thread(void const *args) {
jcabello7 0:be638f6ee353 12 while (true) {
jcabello7 6:c4af95f6e155 13 //Intenta llegir un string, i si el llegeix, el tracta
jcabello7 3:4a598ab10e87 14 if(bt.llegirString())
jcabello7 3:4a598ab10e87 15 bt.tractaString();
jcabello7 6:c4af95f6e155 16 //Comprova la connexió (mira si ha rebut alguna cosa)
jcabello7 3:4a598ab10e87 17 bt.comprovaConnexio();
jcabello7 6:c4af95f6e155 18 //Temps del Thread que està esperant
jcabello7 3:4a598ab10e87 19 Thread::wait(100);
jcabello7 3:4a598ab10e87 20
jcabello7 0:be638f6ee353 21 }
jcabello7 0:be638f6ee353 22 }
jcabello7 1:c603de57c8b6 23
jcabello7 1:c603de57c8b6 24 //Aquest serà el programa principal
jcabello7 0:be638f6ee353 25 int main() {
jcabello7 1:c603de57c8b6 26
jcabello7 6:c4af95f6e155 27 Thread thread(llegir_thread); //Inicia el fil llegir_thread
jcabello7 6:c4af95f6e155 28 char m[128]; //Per visualitzar el mode i el timer, no es necessari
jcabello7 0:be638f6ee353 29 while (true) {
jcabello7 6:c4af95f6e155 30 pc.enviaString(bt.strLlegit); //Per veure l'ultim string llegit, no es necessari
jcabello7 6:c4af95f6e155 31 snprintf(m, 128, "Mode: %d | timer: %dms", bt.getMode(), bt.getTimer()); //Per visualitzar el mode i el timer, no es necessari
jcabello7 6:c4af95f6e155 32 pc.enviaString(m); //Per visualitzar el mode i el timer, no es necessari
jcabello7 6:c4af95f6e155 33 pc.enviaString(bt.strPos); //Per visualitzar la posicio on ha d'anar el robot, no es necessari
jcabello7 6:c4af95f6e155 34 pc.enviaString(bt.strM1); //String motor1 que s'envia a l'arduino d'en Marcel
jcabello7 6:c4af95f6e155 35 pc.enviaString(bt.strM2); //String motor2 que s'envia a l'arduino d'en Marcel
jcabello7 6:c4af95f6e155 36 pc.enviaString(bt.strM3); //String motor3 que s'envia a l'arduino d'en Marcel
jcabello7 6:c4af95f6e155 37 Thread::wait(500); //Temps del Thread que està esperant
jcabello7 0:be638f6ee353 38 }
jcabello7 0:be638f6ee353 39 }