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

AT下令 AT+CIPSEND

2012-12-30 
AT命令 AT+CIPSEND我的利用GPRS模块发一段数据“01 00 00 30 00”sprintf (AtCMD, AT+CIPSEND%d\r\n, 20)

AT命令 AT+CIPSEND
我的利用GPRS模块发一段数据“01 00 00 30 00”


sprintf (AtCMD, "AT+CIPSEND=%d\r\n", 20);
> 01 00 00 30 00
CTRL+Z

本来个很简单的事情

但是我PC收到的数据有三种情况:
1.“01 00 00 30 00”        //正确
2.“0A 01 00 00 30 00”     //多了个0A, 我觉得和"AT+CIPSEND=%d\r\n"中的最后一项\n有关,因为\n就是0x0A嘛~
3.“00 00 30 00”           //少了最前面一项

请问各位大大这是为什么?我发送数据的buffer中确确实实存的就是“01 00 00 30 00”,但是已发送就...
这是怎么回事?我单步执行查看buffer中的数据也是“01 00 00 30 00”... 
为什么会出现第二三种情况呢?(这种出错率有10%左右呢)

还有请问"AT+CIPSEND=%d\r\n"  中的\r\n有什么用呢?
我晓得AT命令都是以“AT开头 \r结尾的”,那这里的 \n又是什么作用呢?

各位一定要帮帮我!!!
[解决办法]
使用的调试软件设置换行.

串口通讯的时间间隔注意调整
[解决办法]

引用:
我擦


不喜欢,貌似90后吧  \R\N 就是回车 代表你要发送的东西发送完了,我用的模块\R\N 和\N是一样的
由于每家的GPRS模块的命令有所区别,在发帖是注明GPRS模块型号

[解决办法]
我真服了你.

你用调试工具看串口buf里的数据和实际给gprs模块的数据有什么关系啊


很可能是串口通讯的时候出错啦.

看这个最底层的是直接用示波器量串口线!

热点排行