
Codigo donde falta la comunicacion serial
main.cpp@3:6fff0b259d65, 2018-09-07 (annotated)
- Committer:
- fabeltranm
- Date:
- Fri Sep 07 12:27:33 2018 +0000
- Revision:
- 3:6fff0b259d65
- Parent:
- 2:3936d249a67c
- Child:
- 4:66f0a55f249d
okey array serail
Who changed what in which revision?
User | Revision | Line number | New 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 | 2:3936d249a67c | 10 | #define MAXDAT 3 |
fabeltranm | 2:3936d249a67c | 11 | #define TIPO_COMM 0 |
fabeltranm | 2:3936d249a67c | 12 | #define NUM_MOTOR 1 |
fabeltranm | 2:3936d249a67c | 13 | #define NUM_GRADOS 2 |
fabeltranm | 0:89b318e49395 | 14 | |
fabeltranm | 0:89b318e49395 | 15 | |
fabeltranm | 2:3936d249a67c | 16 | uint8_t dat[MAXDAT]={0,0,0}; |
fabeltranm | 2:3936d249a67c | 17 | |
fabeltranm | 2:3936d249a67c | 18 | |
fabeltranm | 2: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 | 2:3936d249a67c | 28 | while(read_command()==0); |
fabeltranm | 2:3936d249a67c | 29 | switch (dat[TIPO_COMM]) { |
fabeltranm | 1:526bdd5faa37 | 30 | case 0x01: moving(); break; |
fabeltranm | 2: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 | 2:3936d249a67c | 48 | |
fabeltranm | 2:3936d249a67c | 49 | for (int i =0;i>MAXDAT;i++) |
fabeltranm | 2:3936d249a67c | 50 | dat[i]=command.getc(); |
fabeltranm | 2:3936d249a67c | 51 | |
fabeltranm | 2:3936d249a67c | 52 | intc=command.getc(); |
fabeltranm | 2:3936d249a67c | 53 | |
fabeltranm | 2:3936d249a67c | 54 | while(intc != '>') |
fabeltranm | 2:3936d249a67c | 55 | return 0; |
fabeltranm | 2: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 | 2:3936d249a67c | 69 | char nmotor=dat[NUM_MOTOR]; |
fabeltranm | 2:3936d249a67c | 70 | char grados=dat[NUM_GRADOS]; |
fabeltranm | 1:526bdd5faa37 | 71 | mover_ser(nmotor,grados); |
fabeltranm | 3: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 | } |