程序调了好久,有个地方进不去什么原因。//短信测试部分代码
//SIM900A读短信测试
void sim900a_sms_read(void)
{
u8 *p1,*p2,*p4;
u8 *p=(u8*)malloc(100);
u8 *s1,*s2;
sim900a_init(); //进行sim900a初始化工作
while(1)
{
p1=(u8*)strstr((const char*)(USART3_RX_BUF),"CMTI:");
delay_ms(1000);
if(p1!=0) //是否收到短信提示
{
GPIO_ResetBits(GPIOB,GPIO_Pin_5); //LED0对应引脚GPIOB.5拉低,亮
p2=(u8*)strstr((const char*)(p1),",");
p4=(u8*)strstr((const char*)(p2+1),"
");
p4[0]=0;
sprintf((char*)p,"AT+CMGR=%s
",p2+1);
if(sim900a_send_cmd(p,"+CMGR:",200)==0) //读取短信,是否读取短信成功
{
s1=(u8*)strstr((const char*)(USART3_RX_BUF),"
");//直接读取短信的内容
s2=s1+2; //s2指向接收到短信内容;
if(strstr((const char*)(s2),"open")) //短信内容是否为“open”,如果是则开始发送短信
{
delay_ms(10);
sim900a_sms_send();
}
}
}
}
}
执行到if语句就进不去了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>