OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3188|回复: 0

GSM读短信问题 求大神解决

[复制链接]

2

主题

8

帖子

0

精华

新手上路

积分
21
金钱
21
注册时间
2016-3-9
在线时间
3 小时
发表于 2016-4-8 19:53:13 | 显示全部楼层 |阅读模式
5金钱
原子的读短信内容代码是
       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);                        //显示短信内容

麻烦大家看到回复一下,希望原子哥看到

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-23 08:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表