Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Iniciar sesiónIniciar sesiónCrear cuentaCrear cuenta

C/Visual C - problema con puerto serie

  Imprimir  
Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:

problema con puerto serie

Autor:cgillopez (1 intervención)
Fecha:07/04/2008 12:43:55
Hola, me gustaria que el programa que estoy haciendo leyese por el puerto serie de 1 a 80 caracteres que le paso por teclado.

Al ejecutarlo si escribo menos de 24 me lo escribe bien pero si he escribo mas de 23-24 no me lo visualiza por pantalla y me deja una linea en blanco.

El codigo, (GPSData=80):

/*abrir puerto serie*/
fd = open("/dev/ttyS1", O_RDWR);

if (fd>0){
while(1){
/* lectura puerto serie*/
n= read(fd,GPSData,80);
if (n>0){
strcat(GPSData, " ");
buf[n]=0;
printf("%s",GPSData);
// strcat(GPSData, " ");
//printf("%s",GPSData);
WriteGPSData(GPSData);

/* Despertamos a los hilos que gestionan las conexiones TCP con los clientes */
pthread_mutex_lock(&count_mutex);
pthread_cond_broadcast(&count_condition);
pthread_mutex_unlock(&count_mutex);

//usleep(1000000);
//contador += 1;
};

if (n<0){
exit(EXIT_FAILURE);
};

}
}
if (fd<0){
exit(EXIT_FAILURE);
};

/* cerrar puerto serie*/
close(fd);
}
Responder
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:problema con puerto serie

Autor:Nelek (818 intervenciones)
Fecha:08/04/2008 15:44:34
Has probado en partir tu cadena leida en paquetes mas pequenyos? Se que no es la mejor de las soluciones pero...
Comentar
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:

RE:problema con puerto serie

Autor:Nelek (818 intervenciones)
Fecha:08/04/2008 15:47:49
Se me corto la respuesta. (repito)

Has probado en partir tu cadena leida en paquetes mas pequenyos? Se que no es la mejor de las soluciones pero... al menos podras determinar si el fallo es en la lectura de los datos por el puerto o en la presentacion en pantalla. Es que lo de que sean 23 o 24 caracteres... a mi me da a que tiene que ver con el ancho de cadena visible en pantalla y que sea 23 o 24 depende de los caracteres que esten siendo leidos.

Hay una prueba, lee los 80 del tiron y luego separalos en 4 segmentos de 20 antes de mandarlo a la pantalla a ver si te salen o no.
Comentar