Com. Serie: No recibo lo mismo que envío
Hola:
Gracias por la respuesta
Tienes razón.... Lo cierto es que no puse el código por que no lo creí necesario.
Adjunto pongo las funciones de abrir puerto, preparar estructura de, leer y escribir:
NOTA: Se trata de trozos de código. Los nombres de las variables no tienen por
que coincidir en todos los casos. ( Lo cierto es que el programa funciona pero no recibo lo mismo que envio )
------------------------------------------------------------------------------------------------------------------------
//Abrimos el puerto
Lcl_InFd = open( &gl_PortDevice[0], ///dev/ttyS0
O_RDWR | O_NOCTTY | O_NDELAY
);
//SEt Baud Rate
cfsetispeed(&Lcl_Options, B9600); //......
cfsetospeed(&Lcl_Options, B9600); //......
//No sé que es exactamente pero es necesario
Lcl_Options.c_cflag |= ( CLOCAL | CREAD );
//Seteamos el tamaño de los caracteres
Lcl_Options.c_cflag &= ~CSIZE; //Mask the character size bits
Lcl_Options.c_cflag |= CS8; //Select 8 data bits
//Configurar opciones
Lcl_Options.c_cflag &= ~PARENB; //......
Lcl_Options.c_cflag &= ~CSTOPB; //......
Lcl_Options.c_cflag &= ~CSIZE; //......
Lcl_Options.c_cflag |= CS8; //......
//Disable Hardware flowcontrol
//Lcl_Options.c_cflag &= ~CNEW_RTSCTS; -- not supported
//Enable Raw Input
Lcl_Options.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
// Disable Software Flow control
Lcl_Options.c_iflag &= ~(IXON | IXOFF | IXANY);
// Chose raw (not processed) output
Lcl_Options.c_oflag &= ~OPOST;
------------------------------------------------------------------------------------------------------------------------
//Leemos del puerto
Lcl_Bytes = read( Lcl_InFd,
&Lcl_Buffer,
CONST_MAX_LONG_TRAMA
);
------------------------------------------------------------------------------------------------------------------------
//Escribir mensaje en el puerto
Lcl_Cant = write( Lcl_InFd,
&InTextToSend,
Lcl_InCantBytesToSend //sizeof(InTextToSend)
);
------------------------------------------------------------------------------------------------------------------------
La verdad es que agradecería si alguien me pasa un simple código para enviar recibir datos por el puerto serie que funione bien. He probado un montón de ejemplos de internet y ninguno me funciona correctamente.
Muchas Gracias
Saludos