![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Projecte final de Sistemes Encastats
Dependencies: Hc05 RawSerialPc mbed-rtos mbed
main.cpp@4:0a37a963b724, 2015-12-19 (annotated)
- 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?
User | Revision | Line number | New 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 | } |