![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
Projecte final de Sistemes Encastats
Dependencies: Hc05 RawSerialPc mbed-rtos mbed
main.cpp@6:c4af95f6e155, 2015-12-21 (annotated)
- 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?
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 | 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 | } |