完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一个网络应用,采用ec200u的cat1模块,开启at_device软件包,设置使用power引脚和status引脚,应用官方提供的tcpclient.c例子修改的应用代码,程序每隔一分钟向服务器发送一个数据包,开始的一段时间都正常,运行300次后候就连不上网了,,打开at raw 调试显示,一直在重复执行AT+CSQ和AT+CGREG,应用很不稳定,这个到底是哪儿的问题呢?ec200软件包卡在这条命名之后,就一直没有响应了,按道理ec200软件包在多次重试连接不成功会自动退出,但是为什么一直卡在这儿呢? 追踪了好几天,跑飞从这儿开始 明明ATI已经执行了,但是还还是显示超时。 而且这时ec200x软件包明显跑飞了,一直在重复执行AT+CSQ和AT+CGREG, 看了源代码中不可能出现重复执行的,要么就就会退出初始化。 |
|
相关推荐
3个回答
|
|
通信模块(特别是公网无线模块)是一个内置CPU的系统,为了可靠工作你必须在你的软件里增加故障(异常)恢复机制;
1 心跳包机制保证TCP链接正常,否则断开重连; 2 模块重启机制,多次重连无效或模块无响应(错误响应)重新启动模块(彻底断电重新上电最好); |
|
|
|
除了心跳包机制来确保连接之外,我觉得在调试的时候可以把 AT 指令交互的过程也给显示出来,根据提示,ATI 是查询设备的ID,这个命令和网络无关这个命令无响应的话要不就是串口那边解析有问题了,要不就是模块故障了。 可以把下面这两个配置打开,这样就可以看到 AT 指令的交互过程,把日志存起来,有问题的时候就可以看 AT 指令交互过程看看是哪一步出了问题。 |
|
|
|
“ATI timeout” 后面那个 “RDY” 才是问题关键。
至于RDY后面的CSQ和CGREG,那是ec200x_check_link_status_entry线程检查网络状态的输出。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
786 浏览 0 评论
4210 浏览 0 评论
如何使用python调起UDE STK5.2进行下载自动化下载呢?
2520 浏览 0 评论
开启全新AI时代 智能嵌入式系统快速发展——“第六届国产嵌入式操作系统技术与产业发展论坛”圆满结束
2926 浏览 0 评论
获奖公布!2024 RT-Thread全球巡回线下培训火热来袭!报名提问有奖!
31442 浏览 11 评论
72897 浏览 21 评论
浏览过的版块 |
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:55 , Processed in 0.883835 second(s), Total 77, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号