我现在遇到一个问题,我的短信发送什么,我的板子就操作什么。比如说,我短信发送on,我的灯就亮;我短信发送off,我的灯就灭,但是现在遇到一个问题,我第一次发on的时候,灯可以亮,但是我第二次发送off的时候,灯没有任何反应,这是什么原因呢,以下是我的gsm部分代码,求各位帮我看一下。。。。。
[mw_shl_code=c,true]
[mw_shl_code=c,true]void sim900a_sms_read(void)
{
int i=1;
u8 *p1,*p2,*p4;
u8 *p=(u8*)malloc(100);
u8 *s1,*s2;
sim900a_init();
//delay_ms(1000);
while(1)
{
p1=(u8*)sim900a_check_cmd("+CMTI:");
//printf("%s ",p1);
if(p1)
{
// p1=(u8*)sim900a_check_cmd("+CMTI:");
p2=(u8*)strstr((const char*)(p1),",");
// p2=(u8*)strstr((const char*)(USART3_RX_BUF),",");
p4=(u8*)strstr((const char*)(p2+1),"\r");
p4[0]=0;
sprintf((char*)p,"AT+CMGR=%s\r\n",p2+1);
if(sim900a_send_cmd(p,"+CMGR:",200)==0)
{
LCD_write_english_string(1,1,"read");
s1=(u8*)strstr((const char*)(USART3_RX_BUF),"\r");
s2=s1+2;
if(strstr((const char*)(s2),"on"))
{
LED0=0;
delay_ms(10);
}
if(strstr((const char*)(s2),"off"))
{
LED0=1;
delay_ms(10);
}
}
else LCD_write_english_string(2,2,"error");
}
}
}[/mw_shl_code]
[/mw_shl_code]
|