2730|5

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

我彻底的无奈了! [复制链接]

大家好:最近做一个GPRS收发短信的实验,接收短信后解析出号码和内容,然后回复给该手机需要的内容,
但是老是出现问题,可以解析出号码和内容,请高手帮忙看一下啊,MC39i的模块。
while( 1 )
   {  //发送数据
                serBwrite( "AT+CMGL=\"REC UNREAD\"\r", 21 );

                while( serBwrFree() != BOUTBUFSIZE )
                {
                        msDelay( 100 );
                }

                memset( temp, 0, 1024 );

                bytes = serBread( temp, BINBUFSIZE, 150 );

                if( NULL != strstr( temp, "+CMGL:" ) )
                {
                        //printf( "Receive:%s\n", temp );
        m=strstr(temp,"+86");
        n=strstr(temp,"\",,\"") ;
        for(l=0;l              {
               num[l]=*(m+3+l) ;
             }

         sprintf(V,"%f",VOLT) ;
         sprintf(TempBuffer2, "Voltage A0 is:%s\r", V );
         puts(num);
         putchar('\n');
         SMSTranslate(temp);
         puts(temp);
         putchar('\n');
         sprintf(TempBuffer1, "AT+CMGS=%s\r", num );
         puts(TempBuffer1);
         putchar('\n');
        while(serBrdUsed()!=0)serBgetc(); //清空缓存
        serBputs(TempBuffer1);//发送发送短信申请
        if( serExpect( ">", 30000 ) == 1 )
        {
                printf( "AT+CMGS OK!\n" );
        }
        else
        {
                exit( 0 );
        }
      msDelay(1000);
       serBputs(TempBuffer2);
      if( serExpect( "+", 12000 ) == 1 )
        {
                printf( "OK!\n" );
        }
        else
        {
                exit( 0 );
        }

  }
}
}

不知道哪出了问题,仿真的结果老是这个:(现在老是怀疑是TempBuffer1和TempBuffer2长度的问题。)15965427552                                                                     
a                                                                              
AT+CMGS=15965423890                                                            
AT+CMGS=15965423890                                                            
>AT+CMGS OK!                                                                    
Voltage A0 is:0.000000AT+OK!    对方收不到短信!
如果对方能够收到短信的话,应该是这样的形式:
15965427552                                                                     
a                                                                              
AT+CMGS=15965423890                                                            
AT+CMGS=15965423890                                                            
>AT+CMGS OK!                                                                    
Voltage A0 is:0.000000

+OK!

最新回复

内容的后面添上0x1a   不要回车  详情 回复 发表于 2009-6-9 11:31
点赞 关注

回复
举报

3

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
上面的错了AT+CMGS=15965423890 这一句都改为AT+CMGS=15965427552;
自己顶一下,别沉了!
 
 

回复

2

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
没做过,关注
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 
发送个serBputc(0x1a)就可以吧。
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
大概扫了一眼你的代码,短信发送完毕以后是发送CTRL+Z字符结束的哦,你发送\r\n干嘛?
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

6
 
内容的后面添上0x1a   不要回车
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表