我试图从我的Arduino Mega发送一个整数到我的Android应用程序。我试图将int分成两个字节,然后我的Android应用程序将在一个大小为16384(两个字节)的缓冲区中接收。我刚刚开始使用arduino,所以我有点迷路了!
到目前为止,我有这个:
int val = analogRead(A0); // as states int value from 0 - 1023
byte high = highByte(val);
byte low = lowByte(val);
byte byteArray[2] = {high, low};
server.write(16384, byteArray);
我得到的错误是:
ProArd.ino: In function 'void loop()':
ProArd:88: error: invalid conversion from 'int' to 'const uint8_t*'
ProArd:88: error: initializing argument 1 of 'virtual size_t WiFiServer::write(const uint8_t*, size_t)'
ProArd:88: error: invalid conversion from 'byte*' to 'size_t'
ProArd:88: error: initializing argument 2 of 'virtual size_t WiFiServer::write(const uint8_t*, size_t)'
将数组本身作为指针传递给write函数的size形参,该形参只能接受一个正整型。
试着用这个来获取数组的长度:
sizeof(arr);