|
最近调试 EM200 ,废了不少周折,终于调试完毕,进入测试阶段 .下面把本人一点小小经验和大家分享,如有问题,还请大家一起交流.谢谢
开发环境:KEIL3.4 ,CPU:ARM7
初始化部分:
1: EM200模块的通信波特率不是自适用的,要根据实际情况初始化设置,默认为115200,设置完成断电后保存
2:EM200 AT命令兼容CM320的,所以初始化要关闭: AT $ HCTCM = 0;
3:EM200 默认的是无硬件流控制,可用如下命令查讯:
AT + IFC ?
重新设置可用命令:
AT + IFC =0,0 无
AT + IFC =2,2 有
设计流程序要注意点:
1: 在使用EM200发送命令时应该按以下流程
(1):先发送 AT%TCPSEND=1,8;
(2):一定要等到回应OK,在接着发送具体数据;
(3):正确应答得到回应是 %TCPSEND: 1, 8
例如:
发送:
41542554435053454E443D312C 38 0d
回应:
AT%TCPSEND=1,8
OK ( 一定要等到回应OK)
再接着发送3132333435363738
正确回应
%TCPSEND: 1, 8
(请注意:以上上通过CPU串口发送的,如果你只是用PC加调试助手直接操作EM200就不需要等待OK,可以直接发送,但是在程序中一定要这样处理,否则服务器节收的数据会从第二笔开始出错)
2: 在接收数据处理中间,根据接收的数据长度做相应的延时,可以完全接收到数据。因为 AT命令: 0d 0a + %TCPRECV: 1, 8 (注意数据长度的后面是没有0d 0a的,出现的0d 0a是下一个AT命令的包头,这一点看看4就明白了),所以在处理这一包数据时不能以0d 0a作为结束的标准,我的做法是以数据长度取包分析
3:程序中在进入错误机制处理(就是当把服务器网线断开), 一定要先关TCP,然后关PPP,这个顺序不能颠倒,否则PPP是会出现关不掉的现象.
4: 接收的AT命令格式是:
除了回显开头是AT+命令+0d 0d 0a,其他的都是0d 0a +命令 + 0d 0a格式 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
你熬了10碗粥,别人一桶水倒进去,淘走90碗,剩下10碗给你,你看似没亏,其实你那10碗已经没有之前的裹腹了,人家的一桶水换90碗,继续卖。说白了,通货膨胀就是,你的钱是挣来的,他的钱是印来的,掺和在一起,你的钱就贬值了。
|