Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
#include <stdio.h>
#include <iostream>
#include <string.h>
#include <conio>
#include <dir.h>
#include <fstream>
#include <stdlib.h>
#include <math.h>
#include <windows.h>
#include <stdlib.h>
int main (void)
{
HANDLE h; /* handler, sera el descriptor del puerto */
DCB dcb; /* aqui se meten los parametros del puerto */
DWORD dwEventMask,nil; /* mascara de eventos */
COMMTIMEOUTS timeouts;
char COM[5]="COM1";
int COMnum=0;
int estado=0;
while(estado!=1) //estado del puerto
{
//configuracion del puerto serie
h=CreateFile(COM,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,0,NULL);
if(h == INVALID_HANDLE_VALUE)
{
/* ocurrio un error al intentar abrir el puerto */
COMnum++;
COM[3]=49+COMnum;
if(COMnum>=15)
{
cout<<"no hay puerto serie!!"<<endl;
getch();
exit(0);
}
estado=0;
}
else
{
estado=1;
}
}//while()
cout<<"el puerto encontrado fue: "<<COM<<endl;
/* obtenemos la configuracion actual */
if(!GetCommState(h, &dcb))
{
/* error: no se puede obtener la configuracion */
cout<<"Error al configurar el puerto "<<endl;
getch();
}
/* Configuramos el puerto */
dcb.BaudRate = 9600;
dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.fBinary = TRUE;
dcb.fParity = TRUE;
/* Establecemos la nueva configuracion */
if(!SetCommState(h, &dcb))
{
cout<<"Error al configurar el puerto "<<endl;
getch();
}
timeouts.ReadIntervalTimeout = 1;
timeouts.ReadTotalTimeoutMultiplier = 0;
timeouts.ReadTotalTimeoutConstant = 0;
SetCommTimeouts(h, &timeouts);
char caracter; //--------------------------------------------------------------------------es el caracter a usar
int velocidad;
char tecla;
while(tecla!='N')
{
caracter='2';
WriteFile(h, &caracter, 1, &nil, NULL);
cout<<"delay en ms"<<endl;
cin>>velocidad;
WriteFile(h, &velocidad, 1, &nil, NULL);
WaitCommEvent(h, &dwEventMask, NULL);
ReadFile(h, &caracter, 1, &nil, NULL);
cout<<endl<<"llego ECO:"<<caracter<<endl;
cout<<"ajustando!!"<<endl;
caracter='1';
WriteFile(h, &caracter, 1, &nil, NULL);
cout<<"delay en ms"<<endl;
cin>>velocidad;
WriteFile(h, &velocidad, 1, &nil, NULL);
WaitCommEvent(h, &dwEventMask, NULL);
ReadFile(h, &caracter, 1, &nil, NULL);
cout<<endl<<"llego ECO:"<<caracter<<endl;
cout<<"repetir otra vez? S/N"<<endl;
tecla=getche();
tecla = toupper(tecla);
clrscr();
}
}