main(){int nresult;int nstate;int nCounter0, nCounter1;
prs(0);nresult = utc(1,3,0);nresult = IOPowerUpClear();
/*Configuramos entrada digital*/nresult=IOConfigDPoint(0,0);prtf("\nPunto 0 ENTRADA -");nresult=IOWriteDPoint(0,0);nresult=IOReadDPoint(0,&nstate);prtf(" Realmente es: %d",nstate);
/*Configuramos SALIDA digital*/nresult=IOConfigDPoint(1,1);prtf("\nPunto 1 SALIDA -");nresult=IOWriteDPoint(1,1);dlys(1);nresult=IOReadDPoint(1,&nstate); prtf(" Realmente es: %d",nstate);
/* un bucle infinito */while(1){ nresult=nresult+IOReadDCounter(0,&nCounter0); nresult=nresult+IOPulseOnPt(1, 1); nresult=nresult+IOReadDCounter(1,&nCounter1); prtf("counter0=%d counter1=%d....estado=%d\n", nCounter0, nCounter1, nresult); dlys(2);}nresult = utc(0,0,0);
}
Bueno, ya he hecho todo lo que me has propuesto. Vamos por pasos:
- El módulo de entrada que estoy utilizando, como tú bien dices, es el G4IDC5.
- He utilizado tu código, y la respuesta ha sido la siguiente:
Punto 0 ENTRADA - Realmente es: 0Punto 1 SALIDA - Realmente es: 0
Counter0: 0 Counter1: 0 Estado: -1Counter0: 0 Counter1: 0 Estado: -2Counter0: 0 Counter1: 0 Estado: -3Counter0: 0 Counter1: 0 Estado: -4Counter0: 0 Counter1: 0 Estado: -5Counter0: 0 Counter1: 0 Estado: -6Counter0: 0 Counter1: 0 Estado: -7Counter0: 0 Counter1: 0 Estado: -8Counter0: 0 Counter1: 0 Estado: -9Counter0: 0 Counter1: 0 Estado: -10Counter0: 0 Counter1: 0 Estado: -11 . . .
Malamente... Para empezar, la variable nstate no me consigue alcanzar nunca el valor '1', ni aunque alimente a 24 ó 32 voltios, ni tampoco dejando aún más retardo entre la escritura y la lectura...
Los contadores no aumentan. nCounter0 no sube de valor cuando realizo cambios de off a on ni viceversa; nCounter1 no aumenta de valor ni aun cuando el módulo de salida sí que parpadea por la instrucción IOPulseOnPt. Posteriormente tambien incluí la orden IOReadClearDCounter(0,&nCount0); y IOReadClearDCounter(1,&nCount1); antes de entrar en el bucle infinito, para resetear los contadores, pero tampoco hubo diferencia ninguna en la respuesta.
Supongo yo que lo que hará que estas variables no adquieran sus valores correctos es que, aun llegando la descarga del script al 100%, me sigue dando error de Timeout.
No sé si, desde tu experiencia, te quedarán más recursos para intentar hacer funcionar a este cacharro, pero gracias por todos tus consejos rhernandez. Saludos.
Nada, no hay forma... He cambiado los cables y la respuesta que he obtenido ha sido la misma...:(
¿Me puedes aconsejar sobre otros modems que tengan las mismas caracteristicas que el GT47 y que salgan bien de precio?
Muchas gracias por toda la ayuda que me has prestado.