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;
}