comunicacion dispositivo puerto COM
Publicado por txenfsm (10 intervenciones) el 08/05/2012 08:57:10
Hola estoy realizando un programa en c para comunicarme con un dispositivo conectado a un puerto COM, Funciona perfectamente, pero me dado cuenta que solo funciona si realizao la configuracion desde hyperterminal, es decir la configuracion que intento ponerle dentro del codigo no funciona, pongo el codigo para que pueda aclara, espero que alguien me pueda ayudar.
int abrir_puerto(){
int bandera=0;
char lineabaudio[30];
hSerial = CreateFile(puerto, GENERIC_READ | GENERIC_WRITE,0, 0, OPEN_EXISTING, 0,0);
if(hSerial!=INVALID_HANDLE_VALUE)
{
DCB dcbSerialParams;
DCB dcbSerial = {0};
//dcbSerial.DCBlength=sizeof(dcbSerialParams);
if (!GetCommState(hSerial, &dcbSerialParams))
printf("\nGetCommState error!");
else
printf("\nGetCommState ok.");
dcbSerialParams.BaudRate=CBR_9600;
dcbSerialParams.ByteSize=8;
dcbSerialParams.StopBits=1;
dcbSerialParams.Parity=0;
if(!SetCommState(hSerial, &dcbSerialParams))
printf("\nSetCommState error!");
else{
printf("\nSetCommState ok.");
}
}
else
bandera=1;
return bandera;
}
int abrir_puerto(){
int bandera=0;
char lineabaudio[30];
hSerial = CreateFile(puerto, GENERIC_READ | GENERIC_WRITE,0, 0, OPEN_EXISTING, 0,0);
if(hSerial!=INVALID_HANDLE_VALUE)
{
DCB dcbSerialParams;
DCB dcbSerial = {0};
//dcbSerial.DCBlength=sizeof(dcbSerialParams);
if (!GetCommState(hSerial, &dcbSerialParams))
printf("\nGetCommState error!");
else
printf("\nGetCommState ok.");
dcbSerialParams.BaudRate=CBR_9600;
dcbSerialParams.ByteSize=8;
dcbSerialParams.StopBits=1;
dcbSerialParams.Parity=0;
if(!SetCommState(hSerial, &dcbSerialParams))
printf("\nSetCommState error!");
else{
printf("\nSetCommState ok.");
}
}
else
bandera=1;
return bandera;
}
Valora esta pregunta
0