android - arduino ADK + android LED 闪烁示例编译错误

标签 android arduino adk

我正在尝试使用 arduino ADK 开发板制作一个项目 http://arduino.cc/en/Main/ArduinoBoardADK和运行 android 2.3.4 的索尼爱立信 Xperia Play。对于初学者,我想做的就是让我的 Android 设备上的 LED 闪烁,使用此处提供的精彩教程 http://allaboutee.com/2011/12/31/arduino-adk-board-blink-an-led-with-your-phone-code-and-explanation/ .我设法编译了 android 应用程序,但我在 arduino sketch 上遇到了很大的困难,我无法解析导入,它不会在 Windows7 上编译。我知道有一些 arduino IDE 版本问题。我尝试在 0022、0023 和 1.0 上编译。在编辑 AndroidAccessory.h 之后,我可以使用代码得到这些编译错误:

D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:37: error: 'EP_RECORD' does not name a type

D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared

D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:50: error: 'EP_RECORD' has not been declared

D:\arduino-0023\libraries\AndroidAccessory/AndroidAccessory.h:64: error: 'USB_NAK_LIMIT' was not declared in this scope

我想我阅读了整个文档,但找不到解决我的问题的方法。设置起来真是太痛苦了……我真的需要完成这项工作。先感谢您! :)

-------------------------------------------- ---------------------------------------------- ----------------------------

EDIT1:对我有用的解决方案是在 Linux (Ubuntu) 上编译草图

-------------------------------------------- ---------------------------------------------- ----------------------------

EDIT2:再次使用来自 arduino website 的最新 USB 库代码无法编译。我尝试在同时运行 Windows 8 和 Ubuntu 12.10 的 IDE v22 和 v1.0.2 上编译,但出现以下错误:

E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h: In function 'void setup()':

E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h:68: error: 'void AndroidAccessory::powerOn()' is private
sketch_jan10a:16: error: within this context

E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h: In function 'void loop()':

E:\Development\arduino-1.0.2\libraries\UsbHost/AndroidAccessory.h:66: error: 'int AndroidAccessory::read(void*, int, unsigned int)' is private
sketch_jan10a:23: error: within this context

最佳答案

该库是在以下时间编写和测试的:

Arduino 阿尔法 0022

您是否尝试过将此添加到 ArduinoAccessory.h

#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif 

此外,我还建议您通读一下:

http://developer.android.com/guide/topics/usb/adk.html#installing

它特别提到您需要 CapSense 库以及 Arduino 上的 Android 屏蔽:

http://www.arduino.cc/playground/Main/CapSense

它还提到您还需要安装 avr-libc:

sudo apt-get install avr-libc

苹果操作系统:

fink install avr-libc avr-gcc avr-binutils avrdude 

关于android - arduino ADK + android LED 闪烁示例编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9053809/

相关文章:

c++ - 多个文件中的多个类 - C++/Arduino

java - Android/Arduino蓝牙通讯

android - 如何创建一个 Android 应用程序来通过 Wi-Fi 控制 Arduino?

android - Arduino 到 Android——使用 ADK 打开和关闭 LED

安卓调试?

android - 仅使用 mac 地址和密码在 android 应用程序上使用蓝牙

无法使用 ip :port via network cable 访问内置网络服务器的 php

java - 为什么 MODE_WORLD_READABLE 被划掉了?

Android Firebase 远程配置初始提取不返回值

android - 在暂停时停止线程