Andres Castañeda / Mbed 2 deprecated primeraentregaservos

Dependencies:   mbed

Fork of 01-04EntregaPrimerCorte by ferney alberto beltran molina

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers main.cpp Source File

main.cpp

00001 #include "mbed.h"
00002 #include "main.h"
00003 
00004 Serial command(USBTX, USBRX); // leer comnunicacion serial
00005 
00006 int main() {
00007     init_servo();  // inicializar servo
00008     init_serial();  //inicializar periodo de servos
00009 
00010     debug_m("inicio \n");
00011     uint32_t read_cc;       // definimos los 4 numeros hexadecimales enviados
00012     while(1)
00013     {
00014         read_cc=read_command();         // leemos los 4 numeros hexadecimales enviados
00015         switch (read_cc) {
00016             case  0x01: moving(); break;
00017             //default: debug_m("error de comando. \nSe espera  0xFEF0 o 0xFFF0 \n");break ;      
00018         }
00019     }
00020 }
00021 
00022 
00023 
00024 uint32_t read_command()
00025 {
00026    // retorna los byte recibidos concatenados en un entero, 
00027        
00028     char intc=command.getc();
00029         while(intc != 0x000000ff)       // despues de leer 0xff lee los 4 datos
00030         intc=command.getc();
00031     return command.getc();
00032 }
00033 
00034 
00035 void init_serial()
00036 {
00037     command.baud(9600);    // leer en el monitor serial
00038 }
00039 
00040 
00041 void moving(){
00042     debug_m("se inicia el comado mover..\n");    
00043     
00044     char nmotor=command.getc();     // se asigna el 2 valor hexadecimal al numero de servo
00045     char grados=command.getc(); // se asigna el 3 valor hexadecimal al numero de grados
00046     char endc=command.getc();       // se asigna el 4 valor hexadecimal para terminar de leer la comunicacion
00047     mover_ser(nmotor,grados);       // llama el void mara mover servo con grados
00048     debug_m("fin del comado guardar..\n");    
00049     
00050 }
00051 
00052 void debug_m(char *s , ... ){
00053     #if DEBUG
00054     command.printf(s);      // imprime en el monitor serial
00055     #endif  
00056 }