3

我要做的就是将 Arduino 编译为 Android 'hello world' 程序,来自“Beginning Android ADK with Arduino”一书。

这是代码

#include <Max3421e.h>
#include <Usb.h>
#include <AndroidAccessory.h>

#define ARRAY_SIZE 12

AndroidAccessory acc("Manufacturer", "Model", "Description",
                     "Version", "URI", "Serial");

char hello[ARRAY_SIZE] = {'h','e','l','l','o',' ',
                          'w','o','r','l','d','!'};

void setup() {
  Serial.begin(115200);
  acc.powerOn();
}

void loop() {
  if (acc.isConnected()) {
    for(int x = 0; x < ARRAY_SIZE; x++) {
      Serial.print(hello[x]);
      delay(250);
    }
    Serial.println();
    delay(250);
  }
}

我的错误

C:\Users\efossum\arduino-1.0.1\libraries\UsbHost/AndroidAccessory.h: In function 'void setup()':
C:\Users\efossum\arduino-1.0.1\libraries\UsbHost/AndroidAccessory.h:68: error: 'void AndroidAccessory::powerOn()' is private
sketch_aug23a:14: error: within this context

我查看了 AndroidAccessory.h 并确定它是私有的,但是我应该改变什么才能使它工作?我认为使函数 pulic 不是答案。

4

4 回答 4

3

它似乎:

  acc.powerOn()

可以替换为:

  acc.begin();
于 2012-09-08T15:50:15.013 回答
0

尝试使用 Arduino 0.22 或 0.23 IDE

于 2012-08-24T03:01:06.247 回答
0

答案也可能是在编译期间选择了错误的板。如果您选择了错误的电路板,Arduino 软件将无法确定您拥有的芯片或引脚。

于 2012-11-22T14:43:22.993 回答
0

我做到了!我只是在标头中公开了read()函数的可见性并使用而不是像 Mickaël 说的那样,现在代码编译成功。<AndroidAccessory.h>begin()powerOn()

于 2013-01-13T14:56:56.293 回答