Projecte final de Sistemes Encastats

Dependencies:   Hc05 RawSerialPc mbed-rtos mbed

Committer:
jcabello7
Date:
Sat Dec 19 01:09:57 2015 +0000
Revision:
4:0a37a963b724
Parent:
3:4a598ab10e87
Child:
6:c4af95f6e155
Programa final amb llibreries separades. Comprovat que funciona.

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 4:0a37a963b724 6 RawSerialPc pc(USBTX, USBRX); //Per provar si funciona, no cal al programa
jcabello7 2:1ac2d1debc92 7 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 8 char prova[longString] = "hola"; //Per provar si funciona, no cal al programa
jcabello7 0:be638f6ee353 9
jcabello7 1:c603de57c8b6 10
jcabello7 1:c603de57c8b6 11 //Aquest serà el meu fil, que va llegint cada 300ms del HC-05
jcabello7 0:be638f6ee353 12 void llegir_thread(void const *args) {
jcabello7 0:be638f6ee353 13 while (true) {
jcabello7 3:4a598ab10e87 14 if(bt.llegirString())
jcabello7 3:4a598ab10e87 15 bt.tractaString();
jcabello7 3:4a598ab10e87 16
jcabello7 3:4a598ab10e87 17 bt.comprovaConnexio();
jcabello7 1:c603de57c8b6 18 bt.getStringLlegit(prova); //Per provar si funciona, no cal al programa
jcabello7 3:4a598ab10e87 19 Thread::wait(100);
jcabello7 3:4a598ab10e87 20 //bt.comprovaConnexio();
jcabello7 3:4a598ab10e87 21
jcabello7 0:be638f6ee353 22 }
jcabello7 0:be638f6ee353 23 }
jcabello7 1:c603de57c8b6 24
jcabello7 1:c603de57c8b6 25 //Aquest serà el programa principal
jcabello7 0:be638f6ee353 26 int main() {
jcabello7 1:c603de57c8b6 27
jcabello7 1:c603de57c8b6 28 Thread thread(llegir_thread); //Inicia el fil llegir_thread
jcabello7 3:4a598ab10e87 29 char m[128];
jcabello7 0:be638f6ee353 30 while (true) {
jcabello7 1:c603de57c8b6 31 pc.enviaString(prova); //Per provar si funciona, no cal al programa
jcabello7 1:c603de57c8b6 32 if(bt.getAng()<0) //Per provar si funciona, no cal al programa
jcabello7 1:c603de57c8b6 33 pc.enviaString("ANGLE<0"); //Per provar si funciona, no cal al programa
jcabello7 1:c603de57c8b6 34 if(bt.getVel()== 60) //Per provar si funciona, no cal al programa
jcabello7 1:c603de57c8b6 35 pc.enviaString("VEL=60"); //Per provar si funciona, no cal al programa
jcabello7 3:4a598ab10e87 36 //if(bt.getMode()<0)
jcabello7 3:4a598ab10e87 37 //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
jcabello7 3:4a598ab10e87 38 snprintf(m, 128, "Mode: %d | timer: %dms", bt.getMode(), bt.getTimer());
jcabello7 3:4a598ab10e87 39 pc.enviaString(m);
jcabello7 1:c603de57c8b6 40 bt.getVel(); //Retorna un enter amb la velocitat (de 0 a 100)
jcabello7 1:c603de57c8b6 41 bt.getAng(); //Retorna un enter amb l'angle (de -180º a 180º)
jcabello7 3:4a598ab10e87 42 Thread::wait(500);
jcabello7 0:be638f6ee353 43 }
jcabello7 0:be638f6ee353 44 }