Está en la página 1de 3

#include "mbed.

h"

PwmOut S1(PB_13);
PwmOut S2(PB_14);
PwmOut S3(PB_15);
Serial PUERTO_SERIAL(USBTX,USBRX); //PD_8,PD_9);
Serial PUERTO_SERIAL2(PC_10,PC_11);
char LECTURA;
char DATO[5];
char ANGULO[5];
int i,m,numeroentero,tiempo,x,y,z;
void INGRESAR_DATO (void);
void VERIFICAR_DATO (void);
//-------------------------------------------------------------
int main()
{

PUERTO_SERIAL2.printf ("\n INGRESE NUEMERO DE \n MOTOR Y ANGULO DESEADO \n


COMO EN EL SIGUIENTE EJEMPLO");
PUERTO_SERIAL2.printf ("\n EJEMPLO: M1000, M2090, M3150");
PUERTO_SERIAL2.printf ("\n GRACIAS");
PUERTO_SERIAL2.printf ("\n INGENIERIA ELECTRONICA");

while(1)
{
if(DATO[2]== '1'||'2'||'3'||'4'||'5'||'6'||'7'||'8'||'9'&& DATO[3]==
'1'||'2'||'3'||'4'||'5'||'6'||'7'||'8'||'9' && DATO[4]==
'1'||'2'||'3'||'4'||'5'||'6'||'7'||'8'||'9')
{
INGRESAR_DATO();
VERIFICAR_DATO();
}
}
}
//---------------------------------------------------------------------------------
------
void INGRESAR_DATO (void)
{
i=0;
PUERTO_SERIAL2.printf(" %c ",DATO[i]);

do
{
if(PUERTO_SERIAL2.readable()) // Ha llegado algun dato al buffer de RX
{
LECTURA = PUERTO_SERIAL2.getc();

DATO[i]=LECTURA;
PUERTO_SERIAL2.putc(DATO[i]);
i++;
}
}
}

while(i<=4);

}
//------------------------------------------------------------------
void VERIFICAR_DATO (void)
{

if(DATO[0]=='M' )
{

if (DATO[1]== '1')
{

ANGULO[1]=DATO[3];
ANGULO[0]=DATO[2];
ANGULO[2]=DATO[4];

numeroentero= atoi(ANGULO);

tiempo= ((numeroentero*2000)/180)+500;
S1.period_ms(20);
S1.pulsewidth_us(tiempo);
PUERTO_SERIAL2.printf("\n El motor 1 giro %i grados", numeroentero);

DATO[1]=0;
}
}

else
{
PUERTO_SERIAL2.printf(" \n DATOS INCORRECTO\n");

//---------------------------------------------------------------------------------
---------
if(DATO[0]=='M' )
{

if (DATO[1]== '2')
{
ANGULO[0]=DATO[2];
ANGULO[1]=DATO[3];
ANGULO[2]=DATO[4];

for (m=0;m<3;m++)
{
PUERTO_SERIAL2.printf("\n\r %c ",ANGULO[m]);
}
numeroentero= atoi(ANGULO);

tiempo= ((numeroentero*2000)/180)+500;
S2.period_ms(20);
S2.pulsewidth_us(tiempo);
PUERTO_SERIAL2.printf("\n El motor 2 giro %i grados",numeroentero);

DATO[1]=0;
}
}
else
{
PUERTO_SERIAL2.printf(" \n DATOS INCORRECTO\n");

}
//---------------------------------------------------------------------------------
------------
if(DATO[0]=='M' )
{
if (DATO[1]== '3')
{
ANGULO[0]=DATO[2];
ANGULO[1]=DATO[3];
ANGULO[2]=DATO[4];

for (m=0;m<3;m++)
{
//PUERTO_SERIAL2.printf("\n\r %c ",ANGULO[m]);
}
numeroentero= atoi(ANGULO);

tiempo= ((numeroentero*2000)/180)+500;
S3.period_ms(20);
S3.pulsewidth_us(tiempo);
PUERTO_SERIAL2.printf("\n El motor 3 giro %i grados",numeroentero);
//PUERTO_SERIAL2.printf("\n ");
DATO[1]=0;
}
}
else
{
PUERTO_SERIAL2.printf(" \n DATOS INCORRECTO\n");
}
}

También podría gustarte