Estoy realizando un proyecto mediante la placa OptoGSM I/O y el modem SonyEricsson GT47, y tengo un problema inicial bastante grande.
Realizando los ejemplos que ponen en el tutorial de OPTO número 1502(OptoTutorial_OptoGsmIo.pdf), no consigo hacer funcionar el script del m2mpower en mi dispositivo. A priori está todo bien conectado, de hecho al enviar el comando AT por el hiperterminal (Com1) me responde OK.
El error que me pone es el siguiente:ERROR #6: Line 7 : undeclared identifier :I0PowerUpClear
Os pongo el código completo:
main ()
{
int nResult;
prs(0);
nResult = utc(1,3,0);
nResult = I0PowerUpClear();
while(1<2)
IOWriteDPoint(64,1);
prtf("turn board LED on\n");
prtf("\n");
dlys(1);
prtf("Retraso 1 segundo\n");
IOWriteDPoint(64,0);
prtf("turn board LED off\n");
prtf("Retraso 1 seg.\n");
}
nResult=utc(0,0,0);
Agradecería mucho una respuesta. Gracias de antemano.
Gracias rhernandez, pero he hecho lo que me has dicho y el resultado ha sido el siguiente:
Una vez que he puesto todas las librerías de Opto, y me dispongo a descargar el script por el m2mpower, al alcanzar la barra de "downloading script" el 100% me aparece el mensaje "ERROR DOWNLOADING SCRIPT AT CHANNEL TIMEOUT".
La verdad es que no se que hacer... he probado con varios scripts que me venían en el cd de OPTO22 (y que a priori tendrían que estar correctos), y en todos me ocurre lo mismo...
A ver si sabéis por qué me aparece esto.
Gracias.
Pues básicamente el código es el mismo que he puesto un poco más arriba. Es muy extráño, ya que sí se enciende el LED del módulo output, pero no consigo que me devuelva el valor de '1' (salida).
Te explico más o menos cual es mi configuración de montaje, por si puede influir... El montaje del modem+placa es el mismo que el del manual 1502 de Opto22 (utilizo los 3 rs232). Tengo una SIM de vodafone activa, y una fuente de tensión (alimento a la placa a 15V). Además de un módulo de entrada conectado en el punto digital 0 y otro de salida en el 1.
Creo que no influye nada el código PIN de la tarjeta, pues alguna que otra vez he puesto en el hyperterminal AT+CPIN="xxxx" y no me ha funcionado.
Otra cosa que tampoco me funciona (no se si lo estoy haciendo bien), es leer la entrada. Es decir, tengo puesto una fuente de alimentación conectada al punto 0. He observado que cuando subo de 6V el LED del módulo de entrada se enciende y cuando bajo de 4.5V se apaga, pero, por ejemplo, cuando quiero intentar realizar un contador de impulsos con la entrada, la variable se me queda siempre a cero, nunca adquiere el valor de '1'. Estoy empezando a sospechar que o la placa o el módem están defectuosos...
Éste es el código que me pides:
main(){int nresult;int nstate;
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);nresult=IOReadDPoint(1,&nstate); /*la variable nstate tendría que adoptar el valor 1(salida), pero muestra el valor 0, aunque sí se enciende el LED del módulo de salida*/prtf(" Realmente es: %d",nstate);
nresult = utc(0,0,0);
Gracias por ayudarme.