首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > Wireless >

SIM300 IP包发送失败,该如何解决

2012-05-29 
SIM300 IP包发送失败关键程序简化后如下:int TCP_Send (char *src_buf, unsigned int buf_len){intichar

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?


[解决办法]
。。。学习了。

热点排行