ENTREGA
Fork of 01-04EntregaPrimerCorte by
Embed:
(wiki syntax)
Show/hide line numbers
main.cpp
00001 #include "mbed.h" //inicio programa. 00002 #include "main.h" 00003 #include "mover.h" 00004 int color=0; 00005 DigitalOut led (PB_4); 00006 Serial command(USBTX, USBRX); //cremos una clase de comunicación por USB llamada "command" 00007 00008 char init_c; 00009 int read_cc; 00010 uint32_t posicion; 00011 uint32_t nmotores; 00012 int endc; 00013 int main(){ 00014 00015 init_servo(); //llamamos a ejecutar la función "init_servo" para parametrizr los servos. Función en página mover.cpp 00016 init_serial(); //Lamamos a ajecurae la función "intit_servo" para parametrizr la trnsferencia de información. Función esn esta página. 00017 00018 debug_m("\n inicio \n"); //se ejecurá la funsión "debug_m" para publicar "inicio". La función está al final de esta página. 00019 //uint32_t read_cc; //Se crea una variable llamada "read_cc",varible de 32 bi 00020 while(1){ 00021 init_c=command.getc(); 00022 if( init_c==0xFF){ 00023 read_cc=command.getc(); 00024 nmotores=command.getc(); 00025 posicion=command.getc(); 00026 endc=command.getc(); 00027 00028 if(endc==0xFD){ 00029 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. 00030 case 0x01: 00031 led=0; 00032 command.printf(" ******Se movera de a un solo motor.****** \n\n"); 00033 moving(); 00034 00035 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. 00036 case 0x02: 00037 led=0; 00038 moverconjunto(); 00039 break; 00040 case 0x03: 00041 led=1; 00042 movercolor(); 00043 break; 00044 case 0x04: 00045 led=1; 00046 moveranalog(); 00047 break; 00048 default: debug_m("error de comando. \ncomando no especificado \n"); 00049 led=0; 00050 break ; 00051 } 00052 } 00053 else 00054 command.printf("Error de codigo de cierre \n"); 00055 00056 } 00057 else 00058 command.printf("Error de codigo de inicio. \n"); 00059 00060 00061 } 00062 } 00063 00064 void init_serial() 00065 { 00066 command.baud(9600); //velocidad de tranmisión 00067 } 00068 00069 void moving(){ 00070 00071 debug_m("se inicia el comado mover..\n"); //se ejecuta la función "debug_m" con el dato "se inicia el comado mover.." 00072 mover_ser(nmotores,posicion); //se ejecuta la función "mover_ser", página "mover.cpp",esta función se ejecutará con los datos "nmotor" y "grados" obtenidos anteriormente 00073 debug_m("fin del comado mover..\n"); //se ejecuta la función "debug_m" para publicar el texto. 00074 } 00075 00076 void moverconjunto(){ 00077 command.printf("________________________________________________________________________\n ******Se movera un conjunto de motores.****** \n\n"); 00078 mover_conjunto(nmotores,posicion); 00079 } 00080 void movercolor(){ 00081 command.printf("________________________________________________________________________\n ******Se movera el cuadrupedo.****** \n\n"); 00082 sensor_color(nmotores,posicion); 00083 } 00084 void moveranalog(){ 00085 //sensor_color(nmotores,posicion); 00086 m_analogo(nmotores,posicion); 00087 00088 } 00089 00090 void debug_m(char *s , ... ){ //función para publicar. 00091 #if DEBUG 00092 command.printf(s); //se publica el valor enviado. 00093 #endif 00094 }
Generated on Thu Aug 18 2022 05:10:52 by
1.7.2
