Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/204.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
arduino ADK+;android LED闪烁示例编译错误_Android_Arduino_Adk - Fatal编程技术网

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

arduino ADK+;android LED闪烁示例编译错误,android,arduino,adk,Android,Arduino,Adk,我正在尝试使用arduino ADK板和运行android 2.3.4的索尼爱立信Xperia Play制作一个项目。首先,我想做的就是使用这里的尼斯教程从我的android设备上闪烁一个led。我设法编译了android应用程序,但我在arduino草图上遇到了很大的困难,我无法解决导入问题,也无法在Windows7上编译。我知道有一些arduino IDE版本问题。我尝试在00220023和1.0上编译。在编辑AndroidAccessory.h之后,我对代码所能做的最大努力就是得到这些编译

我正在尝试使用arduino ADK板和运行android 2.3.4的索尼爱立信Xperia Play制作一个项目。首先,我想做的就是使用这里的尼斯教程从我的android设备上闪烁一个led。我设法编译了android应用程序,但我在arduino草图上遇到了很大的困难,我无法解决导入问题,也无法在Windows7上编译。我知道有一些arduino IDE版本问题。我尝试在00220023和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:再次使用代码中最新的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 Alpha 0022

您是否已尝试将此添加到
附件.h

#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
#else
  #include "WProgram.h"
#endif 
我还建议您通读以下内容:

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

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

sudo apt-get install avr-libc
MAC OS X:

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

这听起来有点像我刚才遇到的问题。 (所以我使用了microbridge而不是带有USBDroid的ADK)我必须 进入3个库,错误消息将我指向它们

//(注意:复制到通用arduino草图文件夹而不是arduino普通库位置)这可能是您的问题吗?

然后,我用Arduino.h替换每个文件中的wiring.h。(注意,如果这不是您的问题,请备份所有文件以保存一些填充内容)然后将其复制到一个名为相同但名称前带有数字的文件夹中。这样,当您重新启动Arduino软件时,您将收到一个错误忽略此错误并编译

结果是USBdroid正常工作,如上所示 工作仍在进行中,但让我很开心。我还有几个问题要解决

干杯,
Al在我听来像是您刚刚丢失了,它定义了这些常量。

EP_记录被定义为USB主机屏蔽1.0的一部分。但是,它正在USB Host Shield 2.0库中删除

请参见此处的公告:


因此,如果您升级到2.0,EP_记录中的错误消息将再次出现。还可以在GitHub上查看2.0版的adk.h和adk.cpp。更新的DemoKit 2.0示例不再使用AndroidAccessory.h/.cpp。

将此代码放置在Usb.h中其他定义的位置

#define USB_NAK_LIMIT       32000   //NAK limit for a transfer. 0 means NAKs are not counted 
在Usb.h中的SETUP_PKT的typedef之后放置此文件

/* Endpoint information structure               */
/* bToggle of endpoint 0 initialized to 0xff    */
/* during enumeration bToggle is set to 00      */
typedef struct {        
    byte epAddr;        //copy from endpoint descriptor. Bit 7 indicates direction ( ignored for control endpoints )
    byte Attr;          // Endpoint transfer type.
    unsigned int MaxPktSize;    // Maximum packet size.
    byte Interval;      // Polling interval in frames.
    byte sndToggle;     //last toggle value, bitmask for HCTL toggle bits
    byte rcvToggle;     //last toggle value, bitmask for HCTL toggle bits
    /* not sure if both are necessary */
} EP_RECORD;

我想如果我们真的知道这张EP_唱片是什么epRecord[8];这一切都可能会有所帮助。此文件中未声明EP_记录。因此,它没有类型。当我给USB_NAK_LIMIT一个int类型时,错误消失了。我不知道EP_唱片应该是什么类型的?我唯一能想到的是它可能是一个数组eRecord[8];看起来像一个数组

虽然安卓开发者的网站很有用,但它在很多方面都很欠缺。其中之一就是为开发者提供一些在线帮助。这似乎是回答问题的唯一来源,其中大多数问题并没有真正解决问题

  • 安装ArduinoADK BETA 001,这是迄今为止可用的最新ADK

  • 解压后,在arduino文件夹中,您将找到libraries和libraries-V2

  • 如果您在库中复制USB主机,您将获得androidaccessory.h read private错误

  • 从V2库复制USB主机,您应该能够成功编译。我是


  • 是的,我做到了:(这个小标题编辑让我走了这么远,但仍然留下了你在上面看到的错误…我也在0022版本上尝试了它,我得到了同样的错误…我不明白我做错了什么…@MarciCăşvan请查看我的更新答案,以获取有关安装必要库的文档链接。@MarciCăşvan你是否将我上面的代码添加到<代码> > ARDIONIONIA.H./CUT>?也尝试在代码中包含<代码>包含< /代码>。“McCIC-Y.Van”我知道这可能是一种损坏。但是,我在Mac OS X狮子环境中没有任何问题,一个Ubuntu 11.10环境。你能考虑安装一个操作系统吗?我把LIBS复制到<代码> /库>/代码>文档中提到的文件夹我也导入了USB_主机_屏蔽和USB库…某个地方一定有库版本冲突…我会加倍check@MarciCăşvan我想这肯定是你的问题所在。有什么东西阻止了标题被正确包含。我一定会检查这一点,如果我我会记下你的答案:)如果它解决了问题,谢谢你的回答,尽管你可能想解释什么是错的以及为什么需要你的解决方案。标题中缺少定义,我不知道为什么,所以我深入挖掘了旧代码并找到了它们。现在我建议安装Macroduino库,因为它们运行时没有任何问题。