Usando el modo GPIO en SIM908

Estoy trabajando en un módulo SIM908 usando el modo GPIO (el contacto de mi pin rx se pierde al soldar). Lo he conectado con un PIC16F73 y mientras uso el modo GPIO no obtengo ninguna respuesta. He incluido una pantalla LCD para imprimir la respuesta. ¿Hay algún comando AT o pines que deba habilitar en SIM908 para activar el modo GPIO o es porque debería haber un retraso entre la escritura y la lectura en los puertos?

He incluido el código:

   char x[20], y[20];
   TRISB = 0x00;
   PORTB = 'A';
   PORTB = 'T';
   PORTB = '\r';
   TRISB = 0xff;
   x[0] =  PORTB;

   LCD_Print_String(2,1,x[0]);

    if (x[0] == 'O')
    {
        LCD_Print_String(1,1,"done");
    }
    else if(x[0] == 'E')
    {
        LCD_Print_String(1,1,"error");
    }

    while(1);

hoja de datos sim908: http://www.synes.co.th/nicupload/20111109110456.pdf

En la mayoría de los módulos GSM, las líneas GPIO son para interactuar con otros dispositivos que no envían ni reciben datos. ¿Cómo los tienes conectados, ese módulo parece que solo tiene dos líneas GPIO de todos modos?
SIM 908 tiene 6 pines GPIO para comunicación (su hoja de datos dice que se pueden usar para comunicación). Los he conectado a mis pines del puerto B. En el código, pedí imprimir cualquier respuesta que obtenga de SIM 908 y dos veces mostró 'o' tal vez 'o' de 'error'. Entonces, ¿se trata del retraso entre el envío y la recepción de comandos?
Podría valer la pena editar su pregunta y agregar un enlace a la hoja de datos y señalar dónde dice eso, veo que estaba mirando uno antiguo. No puedo ver cómo podría funcionar con 6 líneas, cualquier letra ASCII, por ejemplo, tiene un valor> = 64 y necesita un séptimo bit.
He incluido la hoja de datos de sim 908. El diagrama de pines muestra solo 6 pines

Respuestas (1)

Al leer la hoja de datos, no puedo ver ninguna mención de poder usar el GPIO para enviar comandos y datos AT. Sospecho que donde ha leído sobre el uso de GPIO para las comunicaciones, se refieren a, por ejemplo, conectar un interruptor que podría verse como una comunicación del estado del interruptor al módulo. Aparte de eso, hay una serie de agujeros al intentar conectar seis líneas GPIO e intentar enviar datos ASCII:

  1. De su ejemplo, el carácter "A" en ASCII tiene un valor decimal de 65 o 1000001 en binario. Tiene una longitud de 7 bits, por lo que eliminará parte del carácter, lo mismo se aplicará a cualquier valor ASCII de 64 o superior que incluya todas las letras mayúsculas y minúsculas.

  2. Los esquemas de transferencia de datos paralelos generalmente necesitan líneas adicionales además de solo líneas de datos. Por ejemplo, puede tener algo como R/Wpara indicar si los datos se están leyendo o escribiendo, RDYpara asegurarse de que el dispositivo esté listo para una transferencia y ACKpara indicar que los datos se han transferido.

Se menciona que las interfaces SPI e I 2 C se pueden usar para comandos AT y comunicaciones, pero solo si tiene un firmware personalizado. Eso suena como algo que tendría que pagar para que lo desarrollen en lugar de algo disponible en el mercado.

Creo que con la RXDlínea rota es posible que no tengas suerte a menos que puedas repararla. Es posible que tenga un poco de suerte con un bisturí para raspar con cuidado parte de la máscara de soldadura y soldar en un trozo de alambre enrollado o tal vez en un solo hilo de alambre de algún cable de varios hilos, suponiendo que quede algo de pista antes. llega al escudo de RF.

otros modos de transmisión requieren actualización de firmware que requiere pin rx. gracias por tu tiempo
Parece que la actualización del firmware usa los pines de depuración, por lo que no hay problema en preguntarles si tienen algún firmware disponible, pero no aguantaría demasiado si me lo proporcionaran sin costo alguno.
pero leí que para actualizar el firmware se necesita un software. ¿Dónde puedo encontrar este software para la actualización del firmware? y gracias por tu ayuda
No pude verlo, pero como necesitarás preguntar sobre el firmware personalizado para que funcione, puedes preguntarles eso al mismo tiempo. Algunas empresas no las hacen públicas porque algunos usuarios actualizarán a la versión más reciente cuando no tengan un problema específico y les provocarán más llamadas de soporte si algo sale mal.
trataré de contactarlos y enviarles un correo