关于SIM800E模块AT+CIICR失败,求各位指导!

流型 2013-09-25 09:02:19
关于SIM800E模块AT+CIICR失败,求各位指导!

背景:
项目是关于电力测量的,需要将测量数据上传到某服务器。测试时使用模块与某公司APN服务器通信,按某公司规的要求新办了张SIM卡,然后他们帮这张卡加入了他们的APN服务器中。于是就可以连接了。

卡为南京移动营业厅办的,在苏州连接成功,并且可以交互信息,协商都测过好多遍了。但是装置拿到南京,初始化都正常,但是AT+CIICR失败!两天了,只偶尔连接成功1、2次,至今找不出原因。

初始化就不贴了吧,就是开机、定义pdp上下文、注册gsm网络,附着gprs网络,都成功的。

 
for(i = 20; i > 0; i--) /* 激活PDP,初始化TCPIP */
{
atChat("AT+CIPSTATUS", 5);
/*------------------------------------*/
mdlWriteString("AT+CSTT=\"");
mdlWriteString((char *)paraCom.APN);
mdlWriteString((void *)"\"");
mdlWriteString((void *)"\r");
result = waitResponse("--", 10);

task_delay(MS2TICKS(1000));
result = atChat("AT+CIPSTATUS", 5);//此后返回的状态为IP START,如手册上说的一样

result = atChat("AT+CIICR",5); //bring up wireless connection 失败!!!!

result = atChat("AT+CIPSTATUS", 5);

/*-------------------------------------*/
ETCPIP_state = 0; /* 判断模块是否已经获取了IP */
memset(localIP,0,20);
rdIPflag=1;
result = atChat("AT+CIFSR", 5); //获取自己的IP

if(checkIP()==TRUE)//当前本地IP有效,本机以上网
{
break;
}
else
{
result = atChat("AT+CIPSHUT", 5); //关闭场景
continue;
}
}


SIM800E模块出现了个很奇怪的现象,现在查不出原因。

难道是南京网络环境差吗?!我拿到南京的宾馆里连也连不上。。
求指导,有谁遇到过这种情况吗?
...全文
1085 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
流型 2013-10-07
  • 打赏
  • 举报
回复
网络信号不好也是会发生的,测试过程中当连续多包数据上送时,有时候到了中间就断开连接了。一直找不到原因,后来换了个靠窗户的地方,就好了。需要在程序中加入断线处理和重连重传的部分代码。
流型 2013-10-07
  • 打赏
  • 举报
回复
引用 1 楼 woshi_ziyu 的回复:
应该是网络信号不好吧 http://www.amobbs.com/thread-5463022-1-1.html SIM900重连时激活移动场景失败
谢谢,这两个帖子我之前看了,但不是这个原因。 原因是初始化的时候,不需要定义PDP上下文,直接CSTT开任务,定义PDP上下文在苏州可以,在南京就不行,后来我随便试了把定义PDP上下文的代码去掉,就可以了。 这是什么原因呢? 我猜测是定义了PDP上下文,就要相应设置一些其他的选项,但是这里我没有配置其他的PDP选项。 而不定义PDP上下文,则模块内部的配置都是默认任何地方都可用的。 而且,模块的开发文档中也没有定义PDP上下文这一个步骤,程序是另外一个模块移植过来的。在苏州连接没问题,也就没在意。 折腾了一天半,伤不起啊
woshi_ziyu 2013-09-25
  • 打赏
  • 举报
回复

3,846

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 无线
社区管理员
  • 无线
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧