abrayan

Dependencies:   mbed

Committer:
fabeltranm
Date:
Fri Sep 07 12:27:33 2018 +0000
Revision:
4:6fff0b259d65
Parent:
3:3936d249a67c
Child:
5:66f0a55f249d
okey array serail

Who changed what in which revision?

UserRevisionLine numberNew contents of line
fabeltranm 0:89b318e49395 1 #include "mbed.h"
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
fabeltranm 0:89b318e49395 8 Serial command(USBTX, USBRX);
fabeltranm 0:89b318e49395 9
fabeltranm 3:3936d249a67c 10 #define MAXDAT 3
fabeltranm 3:3936d249a67c 11 #define TIPO_COMM 0
fabeltranm 3:3936d249a67c 12 #define NUM_MOTOR 1
fabeltranm 3:3936d249a67c 13 #define NUM_GRADOS 2
fabeltranm 0:89b318e49395 14
fabeltranm 0:89b318e49395 15
fabeltranm 3:3936d249a67c 16 uint8_t dat[MAXDAT]={0,0,0};
fabeltranm 3:3936d249a67c 17
fabeltranm 3:3936d249a67c 18
fabeltranm 3:3936d249a67c 19
fabeltranm 0:89b318e49395 20 int main() {
fabeltranm 0:89b318e49395 21 init_servo();
fabeltranm 0:89b318e49395 22 init_serial();
fabeltranm 1:526bdd5faa37 23
fabeltranm 0:89b318e49395 24 debug_m("inicio \n");
fabeltranm 0:89b318e49395 25 uint32_t read_cc;
fabeltranm 0:89b318e49395 26 while(1)
fabeltranm 0:89b318e49395 27 {
fabeltranm 3:3936d249a67c 28 while(read_command()==0);
fabeltranm 3:3936d249a67c 29 switch (dat[TIPO_COMM]) {
fabeltranm 1:526bdd5faa37 30 case 0x01: moving(); break;
fabeltranm 3:3936d249a67c 31 default: debug_m("error de comando. ");break ;
fabeltranm 0:89b318e49395 32 }
fabeltranm 0:89b318e49395 33 }
fabeltranm 0:89b318e49395 34 }
fabeltranm 0:89b318e49395 35
fabeltranm 0:89b318e49395 36
fabeltranm 0:89b318e49395 37
fabeltranm 0:89b318e49395 38 uint32_t read_command()
fabeltranm 0:89b318e49395 39 {
fabeltranm 1:526bdd5faa37 40 // retorna los byte recibidos concatenados en un entero,
fabeltranm 0:89b318e49395 41
fabeltranm 1:526bdd5faa37 42
fabeltranm 1:526bdd5faa37 43
fabeltranm 1:526bdd5faa37 44 char intc=command.getc();
fabeltranm 0:89b318e49395 45
fabeltranm 1:526bdd5faa37 46 while(intc != '<')
fabeltranm 1:526bdd5faa37 47 intc=command.getc();
fabeltranm 3:3936d249a67c 48
fabeltranm 3:3936d249a67c 49 for (int i =0;i>MAXDAT;i++)
fabeltranm 3:3936d249a67c 50 dat[i]=command.getc();
fabeltranm 3:3936d249a67c 51
fabeltranm 3:3936d249a67c 52 intc=command.getc();
fabeltranm 3:3936d249a67c 53
fabeltranm 3:3936d249a67c 54 while(intc != '>')
fabeltranm 3:3936d249a67c 55 return 0;
fabeltranm 3:3936d249a67c 56 return 1;
fabeltranm 0:89b318e49395 57 }
fabeltranm 1:526bdd5faa37 58
fabeltranm 1:526bdd5faa37 59
fabeltranm 0:89b318e49395 60 void init_serial()
fabeltranm 0:89b318e49395 61 {
fabeltranm 0:89b318e49395 62 command.baud(9600);
fabeltranm 0:89b318e49395 63 }
fabeltranm 0:89b318e49395 64
fabeltranm 0:89b318e49395 65
fabeltranm 1:526bdd5faa37 66 void moving(){
fabeltranm 1:526bdd5faa37 67 debug_m("se inicia el comado mover..\n");
fabeltranm 0:89b318e49395 68
fabeltranm 3:3936d249a67c 69 char nmotor=dat[NUM_MOTOR];
fabeltranm 3:3936d249a67c 70 char grados=dat[NUM_GRADOS];
fabeltranm 1:526bdd5faa37 71 mover_ser(nmotor,grados);
fabeltranm 4:6fff0b259d65 72 debug_m("fin del comado ..\n");
fabeltranm 0:89b318e49395 73
fabeltranm 0:89b318e49395 74 }
fabeltranm 0:89b318e49395 75
fabeltranm 0:89b318e49395 76 void debug_m(char *s , ... ){
fabeltranm 0:89b318e49395 77 #if DEBUG
fabeltranm 0:89b318e49395 78 command.printf(s);
fabeltranm 0:89b318e49395 79 #endif
fabeltranm 0:89b318e49395 80 }