Usando el modo GPIO en SIM908

1

Estoy trabajando en un módulo SIM908 usando el modo GPIO (mi contacto con el pin rx se pierde al soldar). Lo conecté con un PIC16F73 y mientras uso el modo GPIO no recibo ninguna respuesta. He incluido un LCD para imprimir la respuesta. ¿Hay algún comando AT o pines que debo 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 de sim908: enlace

    

1 respuesta

2

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

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

  2. Los esquemas de transferencia de datos paralelos generalmente necesitan líneas adicionales, aparte de solo líneas de datos. Por ejemplo, podría tener algo como R/W para indicar si los datos se están leyendo o escribiendo, RDY para asegurarse de que el dispositivo está listo para una transferencia y ACK para 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ías que pagar para que se desarrollen en lugar de algo disponible de forma inmediata.

Creo que con la línea RXD rota puede que no tengas suerte a menos que puedas repararla. Es posible que tenga algo de suerte con un escalpelo para raspar con cuidado algo de la máscara de soldadura y soldar un alambre de envoltura de alambre o tal vez una sola hebra de alambre de un cable de múltiples hilos, suponiendo que queda un poco de pista antes de llega al escudo de RF.

    
respondido por el PeterJ

Lea otras preguntas en las etiquetas