我正在尝试使用Android USB Host API从Android 3.1设备与Arduino板(Duemilanove)进行通信,并支持USB主机。
目标是以与通过串行相同的方式与电路板通信。
我遵循本手册(http://android.serverbox.ch/?p=427),但几乎没有问题(例如未能声明界面)和粗略的开发指南(http://developer.android.com/reference/android/hardware/usb/package-summary.html),但没有运气。
问题是:
答案 0 :(得分:0)
arduino Duemilanove主板仅内置FTDI FT232RL USB串行转换器。所以你不必处理USB设备。从AVR控制器的角度来看,它只是一个异步串行端口。找出它连接到哪个UART并使用它。也许你想要实现一个简单的回声(再次发送所有收到的字符)作为第一次测试。
在linux下使用 lsusb 命令查看usb设备描述符。
了解USB in USB in a nutshell或in the official specification以了解其工作原理(尤其是第9章)。如果不这样做,你就无法继续下去。你什么都不懂。 然后继续阅读有关CDC类设备in the usb class section的信息。
它可能不存在(如果你依赖于接口索引而不检查设备描述符)或者android内核声明了接口,因为该接口有一个本机驱动程序。在这种情况下,您可以使用true作为第二个参数调用UsbDeviceConnection.claimInterface
以首先断开内核驱动程序。