Manejo de puerto serie en c++
Enviado por Luigi Valdez • 15 de Mayo de 2017 • Apuntes • 365 Palabras (2 Páginas) • 140 Visitas
/*PROGRAMA CLIENTE*/
#include <bios.h>
#include <conio.h>
#include <dos.h>
#include <stdio.h>
#define COM1 0
#define SETTINGS ( 0x80 | 0x02 | 0x00 | 0x00)
int main(void)
{
int in,i;
char dato[5]="0000";
system("cls");
bioscom(0, SETTINGS, COM1); /*initialize the port*/
cprintf("\nIntroduce un comando [grados(9-9999) direccion(i/d)]:\n");
while (1)
{
if (kbhit())
{
in = getch();
//Esc, salir//
if (in == 27)
break;
//ENTER==>IMPRIME, ENVIA Y LIMPIA//
if (in == 13)
{
printf("\nEnviando datos [%c%c%c%c %c], espera...\n",dato[0],dato[1],dato[2],dato[3],dato[4]);
for(i=0;i<5;i++)
{
bioscom(1, dato[i], COM1);
delay(300);
}
for(i=0;i<5;i++)
dato[i] = '0';
i=0;
printf("\nEJECUTANDO COMANDO...\n");
}
//Numero entre 0-9, hacia las primeras 4 localidades//
if(in>47 && in<58 && i<4)
{dato[i]=in; printf("%c",in);i++;}
//Espacio, solo imprime sin guardar//
if(in==32)
printf("%c",in);
//Direccion izq o der, hacia la ultima localidad//
if((in==68 || in==73 || in==100 || in==105) && i==4)
{dato[4]=in;printf("%c",in);}
}
}
return 0;
}
...