使用AT命令控制2G/4G模块注意事项

在开发一产品过程中,使用了2G/4G无线模块,将踩过的雷总结下,分享出来。

1、AT命令规则

AT命令应答一对一实现,命令不允许交叉使用;回应0x0d 0x0a结束,进行AT回应的结束;代码设计中一定要进行保护;


2、2G/4G模块注册上网
AT+CGREG AT命令是检查是否注册上GPRS或4G网络,需要检查返回的状态,而且一定要检查是否正常,+CGREG: 0,1或+CGREG: 0,5是否有返回;如果没有正常返回以注册的网络状态,直接使用后续的AT命令会导致通讯出现连接不通的情况。

3、发送数据
尽量使用指定长度发送方式AT+QISEND=XXX XXX代码要发送数据的长度,待串口返回0X3E后才可以将真实的数据WRITE给串口,等待串口返回SEND OK。

4、接收数据
有两种方式进行数据接收,一种是数据直接输出到串口,一种是通过BUFFER进行读取,建议使用后一种,通过AT+QIRD命令进
行数据获取,前一种容易将数据和命令返回混杂在一起,代码不容易处理。

5、串口数据读使用环形BUFFER进行数据操作,需要进行双指针的处理,代码要复杂点;也可以使用读窗口的方式进行数据移
动,代码实现简单,但每次都需要进行数据移动,性能差一些。

6、2G\4G模块异常掉电,重新启动不一定成功,需要进行模块关闭,再重新启动,需要严格按上下电时序;

7、使用PPP协议通过拨号脚本也可以进行2G/4G模块的使用,但是不能精确控制各种状态,同时执行时间和异常处理时间都是
通过TIMEOUT进行处理的,执行效率和体验不好。

 

通过AT命令使用4G模块通讯软件设计   

如何解决制定项目计划的难题   

4K数字电视的体验设计

“996”加班背后,你最需要分辨

 

发布了22 篇原创文章 · 获赞 4 · 访问量 1万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览