我用的是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] = {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[i]);
- Serial3.write(0x1A);
-
- while (1)
- {
- temp = "";
- while (!Serial3.available())
- {
- }
- while (Serial3.available() > 0)
- {
- temp += char(Serial3.read());
- delay(2);
- }
- Serial.println(temp[0]);
- Serial.println(temp);
- }
- }
复制代码 |