我正在尝试从我的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)'
答案 0 :(得分:0)
您将数组本身作为指向write函数的size参数的指针传递,该函数只接受一个正数。
尝试使用它来获取数组的长度:
sizeof(arr);