Estimado RALF2, muchas gracias por tu interés, el módulo que estoy utilizando es un SIM900 de la familia geetech, básicamente funciona con comandos AT. El módulo recibe un comando, por ejemplo, el comando "AT" vía serial, y el mismo responde "OK". Estoy trabajando a 19200 BPs con un PIC 18F2550 a 8 MHz, lo que tengo que hacer es recibir información del módulo, en este caso, necesito saber la intensidad de la señal, para esto se utiliza el comando "AT+CSQ" (enviado por serial), entonces, yo envío dicho comando desde el PIC hacia el módulo, el mismo recibe el comando y responde lo siguiente:
AT+CSQ
+CSQ: 14,0 <== Esto representa la intensidad de la señal, necesito este dato para desplegar en un display el nivel de señal.
OK
Tengo que leer este valor con el PIC mediante el puerto serial, entonces para esto estoy utilizando los comandos SerIn y SerOut. El programa hasta el momento esta así:
Symbol TX_SIM900 = PORTC.6
Symbol RX_SIM900 = PORTC.7
.
.
.
.
SerOut TX_SIM900,32,["AT+CSQ",13]
SerIn RX_SIM900,32,[Wait("+CSQ: "), Dec ENTRADA[0]] Este valor si llega, y puedo leerlo, el problema es con el siguiente valor.
SerIn RX_SIM900,32,[Dec ENTRADA[1]] Este valor ya no recibo, por ende, el PIC se queda esperando a que llegue un dato y se cuelga el programa.
Print At 1,1,"SENAL4: ",#ENTRADA[0]
Print At 2,1,"SENAL4: ",#ENTRADA[1]
Aun no investigo sobre las funciones Hserin y Hserout que dogflu66 me recomendó, sin embargo cualquier idea es bienvenida.
Muchas gracias