Foros del Web » Administración de Sistemas » Unix / Linux »

recibir datos por el serial

Estas en el tema de recibir datos por el serial en el foro de Unix / Linux en Foros del Web. Estoy desarrollando un programa q debe leer datos del puerto serial, en caso de q en un tiempo X de tiempo no se reciba el ...
  #1 (permalink)  
Antiguo 10/12/2002, 09:25
Avatar de marcos25  
Fecha de Ingreso: noviembre-2002
Ubicación: España
Mensajes: 164
Antigüedad: 22 años
Puntos: 0
recibir datos por el serial

Estoy desarrollando un programa q debe leer datos del puerto serial, en caso de q en un tiempo X de tiempo no se reciba el caracter de finalización de la comunicación, este debe volver a leer; el tipo de comunicación es canónica (se envía todos los datos de una vez); problema es el siguiente, cuando se corta la comunicación, "desconecto el cable por ejemplo", este deberia seguir en la espera, pero el programa se bloquea.

Aqui anexo el código para q lo vean:

*********** leer_puerto.c
.............
..............

timer = 2; //q espere 2 minutos
actual = hora_actualx();
estimada = actual + timer;

if (estimada > 59)
estimada = estimada - 60;

i=0;

while ((actual != estimada) && (i == 0))
{
res=read(fd,lectura,1024);

strcat(p,lectura);
if(lectura[res-1]==i1) /*i1 es el caracter q indica q es el final*/
{
p[strlen(p)]=NULL;
strcpy(valor_lt1, p);
i=1; //si recibio todo, i=1
}
actual = hora_actualx();
}

.........................
..........................


int hora_actualx()
{
struct tm *hora;
time_t temp;
int min;
time(&temp);
hora = localtime(&temp);
min = hora->tm_min;
return min; //devuelve minutos actuales del sistema

}


Si alguien me podría dar una mano en esto sería genial.

_Marcos_
  #2 (permalink)  
Antiguo 10/12/2002, 09:35
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 23 años, 5 meses
Puntos: 0
Qué error te da ??

Has probado a hacer debug del programa con gdb ?

Salu2.Ferdy
__________________
Born to be free
Por una sociedad del conocimiento libre
  #3 (permalink)  
Antiguo 10/12/2002, 09:39
Avatar de marcos25  
Fecha de Ingreso: noviembre-2002
Ubicación: España
Mensajes: 164
Antigüedad: 22 años
Puntos: 0
no dá error!!

Gracias por responder tan rápido, el programa no dá ningún error, pero no funciona como debe hacerlo, como dije para probarlo, desconecto el dispositivo del serial, y el programa deberia seguir funcionando, pero se "cuelga", "bloquea" en el read, ya q esta esperando leer datos, pero el disositivo no los esta enviando por q no esta conectado.

_Marcos_
  #4 (permalink)  
Antiguo 13/12/2002, 09:17
Avatar de Ferdy
Colaborador
 
Fecha de Ingreso: junio-2001
Ubicación: España
Mensajes: 1.430
Antigüedad: 23 años, 5 meses
Puntos: 0
Haz debug para ver porqué no lo "se entera" el programa de que se ha desconectado el dispositivo, así podrás arreglar el problema.

Salu2.Ferdy
__________________
Born to be free
Por una sociedad del conocimiento libre
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:03.