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

MC55连接TCP 发送数据的有关问题

2012-09-04 
MC55连接TCP 发送数据的问题请教有关MC55连接TCP 发送数据的问题:各位大侠,我在用西门子的MC55做数据传输,

MC55连接TCP 发送数据的问题
请教有关MC55连接TCP 发送数据的问题:
各位大侠,我在用西门子的MC55做数据传输,现在首先要进行TCP连接,已经可以登陆GPRS网了(因为已经可以获得从网络分配的ip),我测试的步骤如下

at^sics=0,conType,GPRS0

at^sics=0,passwd,gprs

at^sics=0,user,cm

at^sics=0,apn,cmnet

at^siss=1,srvType,socket

at^siss=1,conId,0

at^siss=1,address,"socktcp://116.217.160.243:6000" 

AT^SISO=1

在建立了TCP,连接,在超级终端里测试成功如:
^SISW: 0, 1
at^SISW=0,15
A
^SISW: 0, 15
123456789012345

OK
向服务器写数据,然后服务器接收到的数据是123456789012345,表示成功:
但我用代码写AT命令模拟超级终端测试.
但不知怎的,服务器总是接收不到123456789012345数据.

write(fd,"at^SISW=0,15\r",13);
char send_data = "123456789012345\r"
write(fd,send_data,15);
我能确实write(fd,"at^SISW=0,15\r",13);这步能成功,并返回^SISW: 0, 15,但服务器接收不到123456789012345数据,
那位高手帮我指点一下,看是那里的问题? 急急要解决..

给上100分.

 


[解决办法]
char send_data = "123456789012345\r"
write(fd,send_data,15);这个不对吧?
加上\r应该是16个字符!
char send_data = "123456789012345\r" 
write(fd,send_data,16);
你在请求发送空间时最好开辟大一点比如256.
at^SISW=0,256
[解决办法]
你先单独发送那15个数据然后延时一下再来发送回车看看行不行。。。
[解决办法]
你需要定义一个接收MC55模块返回数据的数组比如GprsBuf,然后修改如下:

char send_data = "123456789012345\r" 
write(fd,"at^SISW=0,15\r",13); 
delay();
if(strstr((char*)GprsBuf, "^SISW: 0,15"))
//strstr()为库函数,字符串索引函数,如何MC55返回^SISW: 0, 15 ,说明可以写数据了
write(fd,send_data,15);

热点排行