欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sim300 ip包发送失败解决方案

更新时间: 2014-01-05 03:21:28 责任编辑: Author_N1

 

SIM300 IP包发送失败
关键程序简化后如下:
int TCP_Send (char *src_buf, unsigned int buf_len)
{
    int  i;
    char AtCMD[64] = {0};

    if ( !QuickQuit ) {
        LCDDisLable ("正在发送数据...");
    }

    GSM_ClearVariable();

    sprintf (AtCMD, "AT+CIPSEND=%d\r\n", buf_len);
    for (i = 0;i < strlen (AtCMD);i++) {//发送AT命令:AT+CIPSEND=20\r\n
        GSM_DATA_SEND (AtCMD[i]);
        }
    Delay(30);
    for (i = 0;i < buf_len;i++) {
      GSM_DATA_SEND (* (src_buf + i));
    }
    if(wait_atReturn("SEND OK\r\n",50)!=0){//等待module(SIM300)返回“SEND OK”
      LCDDisLable ("数据发送失败2");
      return -1;  
    }else{
      LCDDisLable ("数据发送成功");
    } 
    return 1;
}

经调试,问题就出在wait_atReturn("SEND OK\r\n",50)
调试时,发现(查看存储器)SIM300返回情况如下:
1.什么都不返回 
  存储器:“00 00 00 00 ...”
2.返回:“/r”   
  存储器:“0D 00 00 00 ...”
3.返回:“/r/nSEND OK/r/n+IPD20:01 30 30 31 35 55 55 55 55 55 55 55 55 ff 84 03 00 C0 00 B9”
  存储器“0D 0A 53 45 5E 44 20 4F 4B 0D 0A 2B 49 50 44 32 30 3A 01 30 30 31 35 55 55 55 55 55 55 55 55 ff 84      03 00 C0 00 B9”

请问各位大侠,为什么会出现这么多情况?是SIM300出问题了,还是我程序有bug?

--参考方法--
。。。学习了。
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 03:21:28
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/21140/
本文WWW.DOC100.NET DOC100.NET版权所有。