我所要做的就是从“使用Arduino开始使用Android ADK”一书中将Arduino编译为Android'hello world'程序。
这是代码
#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不是答案。
答案 0 :(得分:3)
似乎:
acc.powerOn()
可以替换为:
acc.begin();
答案 1 :(得分:0)
尝试使用Arduino 0.22或0.23 IDE
答案 2 :(得分:0)
答案也可能是在编译期间选择了错误的电路板。如果您选择了错误的电路板,Arduino软件无法决定您使用哪种芯片。
答案 3 :(得分:0)
我做到了!我只是公开read()
标题中的<AndroidAccessory.h>
函数的可见性,并使用begin()
代替powerOn()
,就像Mickaël所说的那样,现在代码编译成功了。