原子的读短信内容代码是
p1=(u8*)strstr((const char*)(p2+1),"\r"); //寻找回车符 sim900a_unigbk_exchange(p1+2,p,0); //将unicode字符转换为gbk码
Show_Str(30+30,105,180,75,p,12,0); //显示短信内容
我发现把短信内容显示在液晶屏上面的话多了OK,所以做了一点改变,想提取出短信(发送的短信内容为1,ASCLL码为0031),然后再做处理,改变后的代码如下,
可以看到回车符在0031后两格,所以想让短信代码直接等于==“0031 ” ,不知道为什么不行(原谅我的C没学好)
p1=(u8*)strstr((const char*)(p2+1),"\r"); //寻找回车符
Show_Str(30+30,350,180,75,p1+2,12,0);
p2=(u8*)strstr((const char*)(p1+2),"\r"); //再次寻找回车符
// p2[0]=1; 测试回车符的位置
p2[0]=0; //添加字符串
sim900a_unigbk_exchange(p1+2,p,0); //将unicode字符转换为gbk码
Show_Str(30+30,480,180,75,p1+2,12,0);
Show_Str(30+30,545,180,75,p2-4,12,0);
// if((p2-4)=="0031 ")
if((p1+2)=="0031 ")
{
LED1=0;
delay_ms(2000);
LED1=1;
}
Show_Str(30+30,105,180,75,p,12,0); //显示短信内容
麻烦大家看到回复一下,希望原子哥看到
|