Josimar Hernandez / Mbed 2 deprecated TELECOMANDOS

Dependencies:   mbed

Fork of 01-04EntregaPrimerCorte by ferney alberto beltran molina

Committer:
Yances64
Date:
Sun Sep 09 16:44:45 2018 +0000
Revision:
2:dd42be3f7753
Parent:
1:526bdd5faa37
MOVIMIENTO 8 SERVOS

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Yances64 2:dd42be3f7753 1 #include "mbed.h" //inicio programa.
fabeltranm 0:89b318e49395 2
fabeltranm 0:89b318e49395 3 #include "main.h"
fabeltranm 0:89b318e49395 4
fabeltranm 0:89b318e49395 5
fabeltranm 0:89b318e49395 6
fabeltranm 0:89b318e49395 7
Yances64 2:dd42be3f7753 8 Serial command(USBTX, USBRX); //cremos una clase de comunicación por USB llamada "command"
fabeltranm 0:89b318e49395 9
fabeltranm 0:89b318e49395 10
fabeltranm 0:89b318e49395 11
fabeltranm 0:89b318e49395 12 int main() {
Yances64 2:dd42be3f7753 13
Yances64 2:dd42be3f7753 14 init_servo(); //llamamos a ejecutar la función "init_servo" para parametrizr los servos. Función en página mover.cpp
Yances64 2:dd42be3f7753 15 init_serial(); //Lamamos a ajecurae la función "intit_servo" para parametrizr la trnsferencia de información. Función esn esta página.
fabeltranm 1:526bdd5faa37 16
Yances64 2:dd42be3f7753 17 debug_m("inicio \n"); //se ejecurá la funsión "debug_m" para publicar "inicio". La función está al final de esta página.
Yances64 2:dd42be3f7753 18 uint32_t read_cc; //Se crea una variable llamada "read_cc",varible de 32 bits
Yances64 2:dd42be3f7753 19
Yances64 2:dd42be3f7753 20 while(1) //while infinito
fabeltranm 0:89b318e49395 21 {
Yances64 2:dd42be3f7753 22 read_cc=read_command(); //se le dice a "read_cc" que tome los valores obtenidos de la ejecución de la función "read_command(), claramente se ejecuta la función, función alfinal de esta página.
Yances64 2:dd42be3f7753 23 switch (read_cc) { //con el valor retornado y almacenado en la varible "read_cc" se realiza un switch para elegir qué operación se va ejecutar.
Yances64 2:dd42be3f7753 24 case 0x01: moving(); break; // en este caso solo hay una posible operación, mover un servo, se ejecuta la función "moving" al final de esta página.
Yances64 2:dd42be3f7753 25 default: debug_m("error de comando. \nSe espera 0xFEF0 o 0xFFF0 \n");break ;
Yances64 2:dd42be3f7753 26 }
Yances64 2:dd42be3f7753 27
fabeltranm 0:89b318e49395 28 }
fabeltranm 0:89b318e49395 29 }
fabeltranm 0:89b318e49395 30
fabeltranm 0:89b318e49395 31
fabeltranm 0:89b318e49395 32
Yances64 2:dd42be3f7753 33 uint32_t read_command()
fabeltranm 0:89b318e49395 34 {
fabeltranm 1:526bdd5faa37 35
Yances64 2:dd42be3f7753 36 char intc=command.getc(); //creamos una variable llamada "intc" (comando de inicio) que obtiene el dato del puerto USB, este es el primer dato recibido de la cadena de caractéres enviados a la tarjeta
fabeltranm 0:89b318e49395 37
Yances64 2:dd42be3f7753 38 while(intc != 0xFF) //con el valor obtenido se realiza un while, que se ejecutará mientras el primer dato de la cadena sea "FF".
Yances64 2:dd42be3f7753 39 intc=command.getc(); //se lee nuevamente el puerto serial y obtenemos el segundo dato de la cadena de caractéres (tipo de operción a ejecutar)
Yances64 2:dd42be3f7753 40 return command.getc(); //retornamos el valor obtenido.
fabeltranm 0:89b318e49395 41 }
fabeltranm 1:526bdd5faa37 42
fabeltranm 1:526bdd5faa37 43
fabeltranm 0:89b318e49395 44 void init_serial()
fabeltranm 0:89b318e49395 45 {
Yances64 2:dd42be3f7753 46 command.baud(9600); //velocidad de tranmisión
fabeltranm 0:89b318e49395 47 }
fabeltranm 0:89b318e49395 48
fabeltranm 0:89b318e49395 49
fabeltranm 1:526bdd5faa37 50 void moving(){
Yances64 2:dd42be3f7753 51
Yances64 2:dd42be3f7753 52 debug_m("se inicia el comado mover..\n"); //se ejecuta la función "debug_m" con el dato "se inicia el comado mover.."
fabeltranm 0:89b318e49395 53
Yances64 2:dd42be3f7753 54 char nmotor=command.getc(); //se crea variable "nmotor" que es cargada con el dato obtenido del puerto serial, tercer dato de la cadena.
Yances64 2:dd42be3f7753 55 char grados=command.getc(); //se crea la variable "grados" que es cargada con el dato obtenido del puerto serial, cuarto dato de la cadena.
Yances64 2:dd42be3f7753 56 char endc=command.getc(); //se crea la variable "endc" que es cargada con el dato obtenido del puerto serial, quinto y últio dato de la cadena, caracter de ciere.
Yances64 2:dd42be3f7753 57 mover_ser(nmotor,grados); //se ejecuta la función "mover_ser", página "mover.cpp",esta función se ejecutará con los datos "nmotor" y "grados" obtenidos anteriormente
Yances64 2:dd42be3f7753 58 debug_m("fin del comado guardar..\n"); //se ejecuta la función "debug_m" para publicar el texto.
fabeltranm 0:89b318e49395 59
fabeltranm 0:89b318e49395 60 }
fabeltranm 0:89b318e49395 61
Yances64 2:dd42be3f7753 62
Yances64 2:dd42be3f7753 63 void debug_m(char *s , ... ){ //función para publicar.
fabeltranm 0:89b318e49395 64 #if DEBUG
Yances64 2:dd42be3f7753 65 command.printf(s); //se publica el valor enviado.
fabeltranm 0:89b318e49395 66 #endif
fabeltranm 0:89b318e49395 67 }