关于arduino mega 2560连sim900a用TCP协议收发数据的问题
首先,我按照网上的示例用at+cipstart的指令连淘宝网什么的都能连上,发数据也是可以发送出去的,然后我连接我一个服务器(用的是公网ip),我发送了at+cipstart之后只返回了一个ok,没有返回connect ok,但是服务器端显示有连接请求,我用at+cipsend发送数据没显示 >,数据也发不出去。这是怎么回事。 下面是写的接收的代码,用串口调试工具也连不上。void setup() {Serial.begin(9600);
Serial3.begin(9600);
}
void loop() {
delay(4000);
int i = 0;
String ip = "219.245.68.1";
String port = "9999";
String temp = "";
String tcpsend = "";
unsigned char datasend = {11, 31, 4, 91, 64, 225, 201, 75, 0, 50, 0};
unsigned char dataxy = {0};
unsigned char dataip = {0};
unsigned char datanoise = {0};
for (i = 0; i < 10; i++)
datasend = datasend + datasend;
datasend = datasend ^ 169;
// for(i = 0;i < 11;i++)
// Serial.println(datasend);
// delay(2000);
Serial3.print("AT+CIPSTART=");
Serial3.print('"');
Serial3.print("TCP");
Serial3.print('"');
Serial3.print(',');
Serial3.print('"');
Serial3.print(ip);
Serial3.print('"');
Serial3.print(',');
Serial3.print(port);
Serial3.print("\r\n");
/* while(1)
{
while(!Serial3.available())
{
}
while (Serial3.available() > 0)
{
temp +=char(Serial3.read());
delay(2);
}
Serial.println(temp);
temp = "";
}*/
for(i = 0;i < 11;i++)
tcpsend +=datasend;
delay(5000);
Serial3.print("AT+CIPSEND=1\r\n");
delay(50);
Serial3.print(tcpsend);
//for (i = 0; i < 11; i++)
// Serial3.print(datasend);
while (1)
{
while (!Serial3.available())
{
}
while (Serial3.available() > 0)
{
temp += char(Serial3.read());
delay(2);
}
Serial.println(temp);
temp = "";
}
} 。。自己解决了,原来是网络配置出错了 毛驴 发表于 2014-7-24 18:13 static/image/common/back.gif
下面是写的接收的代码,用串口调试工具也连不上。void setup() {
Serial.begin(9600);
Serial3.begin ...
你好,我想问下为什么用Serial3去通信
页:
[1]