Julian Barrero / Mbed 2 deprecated programa_servo

Dependencies:   mbed

main.cpp

Committer:
fabeltranm
Date:
2019-02-22
Revision:
2:fda902bed8c6
Parent:
1:b473a0ad2b83
Child:
3:ed8f41c75a80

File content as of revision 2:fda902bed8c6:

#include "mbed.h"

/*****************************************************************************
generar un programa que controle por el puerto serial el grado de 4 servo motores
por medio de la comunicacion serial donde el comando sea 

|            |            |             |
|   INITCMD  |   N_motor  |   N_grados  |
|     0xff   | 0x01- 0x04 | 0x00 - 0xb4 |

para enviar los comandos usar el programa Coolterm
*****************************************************************************/


Serial command(USBTX, USBRX);
PwmOut myservo1(PB_4);
/*INGRESE L A CONFIGURACION DE LOS MOTORES*/

#define INITCMD 0xFF

// definición de las variables globales 

uint8_t N_motor;    // almacena el número de motor
uint8_t N_grados;    // almacena los grados que se mueve el motor


void setup_uart();
void setup_servo();
void mover_servo(uint8_t motor, uint8_t gradss);
void leer_datos();

int main() {

    setup_uart();
    setup_servo();
    while(1){    
        leer_datos();
        mover_servo(N_motor, N_grados);
}    
}



void setup_uart(){
    command.baud(115200);
}

void setup_servo(){
    myservo1.period_ms(20);
    myservo1.pulsewidth_us(1000);
}

void leer_datos(){
    while(command.getc()!= INITCMD);
    N_motor=command.getc();
    N_grados=command.getc();
    
}



void mover_servo(uint8_t motor, uint8_t grados){

/*
complementar el códogo necesarios
tip: deben pasar  grados a microsegundo

*/
        uint32_t dpulse=0;
        myservo1.pulsewidth_us(dpulse);

    }