关于ATK-SIM800C 模块配套资料有一个不理解的地方,如下:
p1=(u8*)strstr((const char*)(USART3_RX_BUF),"""); //p1是用于查起始位,"代表一个双引号字符
if(p1)//有有效数据
{
p2=(u8*)strstr((const char*)(p1+1),""");//p2用于定义结束位
p2[0]=0;//加入结束符
sprintf((char*)p,"运营商:%s",p1+1);
Show_Str(x,y,200,16,p,16,0);
}
该段程序中对 p2=(u8*)strstr((const char*)(p1+1),""");//p2用于定义结束位
该句应该是查找有效内容之后的第一个字节,为什么用p1+1,而不是p1+2,因为SIM800C 模块串口响应返回的格式是<回车><换行><响应内容><回车><换行>,也就是说,p1首地址后两个字节才是有效内容,如果用p1+1的话会不会直接找到换行的字节处?????是不是用该改成p1+2???????????
请大家解释一下吧。