Autor Tema: sim900 + pic 18F + ccs c compiler  (Leído 1289 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado juanjuan19

  • PIC16
  • ***
  • Mensajes: 120
sim900 + pic 18F + ccs c compiler
« en: 10 de Diciembre de 2015, 20:24:45 »
hola amigos del foro, estoy trabajando con un pic, en ccs c compiler, y el modulo sim900, el tema es que quiero que cuando llega el mensaje, del modulo sim900, el pic pueda recibirlo, y lo borre despues, ya probe con el comando AT+CMGD, y nada estan ahi , les paso la rutina a ver si alguien me puede hechar una mano con esto:
void recepcion(void)

  if(!bit_test(est_recepcion,1))
   {
          int i=0,comi_cont=0;
            for(i=0;i<35;i++)
             {
               if(data_sim=='"' && !comi_cont)
                {
                   ind_1=i+2;
                   comi_cont=1;
                   i++;
                } 
               if(data_sim=='"' && comi_cont)
                { 
                   ind_2=i-1;
                   comi_cont=0;
                   bit_set(est_recepcion,1);
                   return;
                }
             }
   return;
   }
  if(!bit_test(est_recepcion,2))
   {
         int i=0,j=0;
         for(i=ind_1;i<=ind_2;i++)
         {         
            celu[j]=data_sim;
            j++;
         }           
     
         for(i=0;i<=9;i++)
         {   
            if(celu==num)
               jota++;
         }
         bit_set(est_recepcion,2);
         return;
   }
   if(!bit_test(est_recepcion,3))
   {
          if(jota < 10)
          {
           jota=0;
           est_recepcion=0;
           return;
          }
         
          if((jota==10) && ((data_sim[50]=='o' && data_sim[51]=='n') || (data_sim[50]=='O' && data_sim[51]=='n')))
            {
              output_high(pin_d3);
              cont=1;
              jota=0;
              bit_set(est_recepcion,3);
            }
          if((jota==10) && (data_sim[50]=='O' && data_sim[51]=='f' && data_sim[52]=='f') || (data_sim[50]=='o' && data_sim[51]=='f' && data_sim[52]=='f'))
            {
              jota=0;
              output_low(pin_d3);
              cont=0;
              bit_set(est_recepcion,3);
            }
          return;
   }
   if(!bit_test(est_recepcion,4))
   {
       
         printf("AT+CMGD=35,4\r\n");//printf("AT+CMGDA=\"DEL ALL\r\n");
         bit_set(est_t_300mseg,0);
         bit_set(est_recepcion,4);
         return;
   }
   if(!bit_test(est_recepcion,5))
   {
         if(est_t_300mseg == 0)
         {
           est_recepcion=0;
           return;
         }
   }
 return;
}

Desconectado AG1

  • PIC12
  • **
  • Mensajes: 96
    • allm2m
Re:sim900 + pic 18F + ccs c compiler
« Respuesta #1 en: 11 de Diciembre de 2015, 08:16:32 »
Hola juanjuan19:

   printf("AT+CMGD=35,4\r\n"); // Borra del almacenamiento seleccionado únicamente el SMS número 35 -en caso de existir-, incluso si es un SMS no leído.

   Si modo texto(AT+CMGF=1):
       printf("AT+CMGDA=\"DEL ALL\"\r\n"); // Borra todos los SMS
   Si modo PDU(AT+CMGF=0):
       printf ("AT+CMGDA=6\r\n"); // Borra todos los SMS

   En vez de:
        printf("AT+CMGDA=\"DEL ALL\r\n");
   debería ser:
        printf("AT+CMGDA=\"DEL ALL\"\r\n"); // El formato de SMS seleccionado debe ser "modo texto"


 
Salu2.

Desconectado juanjuan19

  • PIC16
  • ***
  • Mensajes: 120
Re:sim900 + pic 18F + ccs c compiler
« Respuesta #2 en: 20 de Diciembre de 2015, 17:23:06 »
gracias  AG1, andubo, abrazos!!!!!!!!!!!! perdon por responder tarde


 

anything