毛驴 发表于 2014-7-25 09:37:08

mega 2560连sim900a使用TCP协议定义了一个byte型数组,发送后服务器端接收到的是字...

我用的是arduino mega 2560连了一个sim900a模块,用的是TCP协议,我想要发送一个字节数组,定义了一个byte【11】的数组,然后往里面填的是0到255之间的11个数字,结果服务器端接收到的是一个字符串,把11个数字里的每一位数字都变成一个char型,比如说byte【0】=11,传过去之后就变成字符串11了,下面是代码。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,25,11,75,0,11,22};
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");
delay(4000);
Serial3.print("AT+CIPSEND\r\n");
delay(2000);
for (i = 0; i < 11; i++)
    Serial3.print(datasend);
Serial3.write(0x1A);

while (1)
{
    temp = "";
    while (!Serial3.available())
    {
    }
    while (Serial3.available() > 0)
    {
      temp += char(Serial3.read());
      delay(2);
    }
    Serial.println(temp);
    Serial.println(temp);

}
}

毛驴 发表于 2014-7-25 09:39:57

定义byte型或者是unsigned char型都没有用
页: [1]
查看完整版本: mega 2560连sim900a使用TCP协议定义了一个byte型数组,发送后服务器端接收到的是字...