Alyson Castiblanco
/
PARQUEADERO_VERTICAL
Codigo donde falta la comunicacion serial
main.cpp
- Committer:
- fabeltranm
- Date:
- 2018-09-07
- Revision:
- 4:66f0a55f249d
- Parent:
- 3:6fff0b259d65
File content as of revision 4:66f0a55f249d:
#include "mbed.h" #include "main.h" Serial command(USBTX, USBRX); #define MAXDAT 3 #define TIPO_COMM 0 #define NUM_MOTOR 1 #define NUM_GRADOS 2 uint8_t dat[MAXDAT]={0,0,0}; int main() { init_servo(); init_serial(); debug_m("inicio \n"); uint32_t read_cc; while(1) { while(read_command()==0); switch (dat[TIPO_COMM]) { case 0x01: moving(); break; default: debug_m("prueba comando. "); break ; } } } uint32_t read_command() { // retorna los byte recibidos concatenados en un entero, char intc=command.getc(); while(intc != '<') intc=command.getc(); for (int i =0;i<MAXDAT;i++) dat[i]=command.getc(); intc=command.getc(); if(intc != '>'){ debug_m("error de comando no se recibe bien ..\n"); return 0; } return 1; } void init_serial() { command.baud(9600); } void moving(){ debug_m("se inicia el comado mover..\n"); char nmotor=dat[NUM_MOTOR]; char grados=dat[NUM_GRADOS]; mover_ser(nmotor,grados); debug_m("fin del comado ..\n"); } void debug_m(char *s , ... ){ #if DEBUG command.printf(s); #endif }