0

我想将带有 cp2102 的自定义设备连接到 Android 平板电脑。我以 VCP 模式连接它(使用 PID EA60)并使用 JavaComm 找到它,

@SuppressWarnings("unchecked")
Enumeration <CommPortIdentifier> ports = CommPortIdentifier.getPortIdentifiers();

while (ports.hasMoreElements())
{
    final CommPortIdentifier port = ports.nextElement();
    Log.d(null, port.toString());
}

但我从不进入循环。

我可以选择使用 FTDI 而不是 silabs。他们有一个通过 JNI 使用 D2xx dll 的变体。我按照他们的指南进行操作,但是当我连接 ft232r 并尝试确定连接设备的数量时,我遇到了内存崩溃(LogCat 中的信号和堆损坏消息)。当我从平板电脑上拔下设备时,相同的代码(他们的示例代码)工作得很好,返回零,这是真的。

当我将 JavaComm 与 FTDI 一起使用时,结果与 cp2102 相同:未进入循环。

我想我错过了什么或做错了什么。

如果我要使用 USB 模式而不是 VCP,我已准备好开始搜索,我只需要提示。

任何帮助将不胜感激。

4

1 回答 1

3

这里的问题是默认情况下,Android 内核中未启用 CP210x 驱动程序。所以你要么需要在你的内核中构建这个驱动程序来获得 tty 访问和使用 JavaComm 的能力。

另一种选择是使用USB 主机功能并通过其 API直接访问您的 CP210x 。

于 2013-12-10T15:19:03.937 回答