更新2:
我已经通过缩短其IN和OUT引脚来测试FTDI芯片。 controlTransfer()
始终返回0,bulkTransfer() - Write
返回已发送数据的长度,bulkTransfer() - Read
返回发送的任何数据。
有人知道如何或在哪里找到Prolific的驱动程序?
更新1:
我用Slick USB 2进行了一些测试,我想我已经找到了问题。看起来我错过了一些驱动程序,因为通信无法正常工作。
我将我的主板连接到Slick USB 2然后尝试使用我的应用程序进行连接,并打印出“打开设备并声明: false ,file = 45,test = null”。我再次尝试,通讯开始工作。我能够按预期编写和读取数据。此外,当我重新连接电缆时,通信停止工作。
我想,Slick USB 2正在安装一些通信所需的驱动程序。
有谁知道我在哪里或如何找到这个驱动程序?
我希望我的Android设备(Galaxy Tab 2.0 7“,版本4.0.3)与自定义主板通信。为此,我使用的是OTG数据线+ USB转串口转换器(Prolific)。
我已经测试了与Slick USB 2应用程序的通信,一切都按预期工作。
现在,我正在尝试使用USB Host API创建自己的应用。我添加了intent-filter,当我连接我的主板时,它也得到了认可。我使用以下代码:
UsbDevice usbDevice; // contains device from intent-filter
Context context; // activity object
UsbManager manager = (UsbManager) context.getSystemService(Context.USB_SERVICE);
Toast.makeText(context, "usb device perm: " + manager.hasPermission(usbDevice), Toast.LENGTH_LONG).show();
UsbInterface interfaceUsb = usbDevice.getInterface(0);
UsbDeviceConnection connection = manager.openDevice(usbDevice);
boolean resClaim = connection.claimInterface(interfaceUsb, true);
Toast.makeText(context, "open device and claim: " + resClaim + ", file = " + connection.getFileDescriptor() + ", test = " + connection.getSerial(), Toast.LENGTH_LONG).show();
// Prints "open device and claim: true, file = 45, test = null"
int result = connection.controlTransfer(0x40, 0x03, 0x0034, 0, null, 0, 0); // set baudrate 57600
Toast.makeText(context, "result: " + result, Toast.LENGTH_LONG).show(); // returns -1
int resultWrite = connection.bulkTransfer(endpointUsbWrite, new byte[]{'a'}, 1, 1000);
byte[] bytesRead = new byte[64];
int resultRead = connection.bulkTransfer(endpointUsbRead, bytesRead, bytesRead.length, 1000);
// resultWrite returns 1, resultRead returns -1
controlTransfer()
始终返回-1。我还尝试了bulkTransfer() - write
并返回发送数据的长度,但是电路板没有收到任何数据。 bulkTransfer() - read
返回-1
我做了一个测试,我把我的电路板连接到我的应用程序并尝试连接Slick USB 2应用程序和Slick USB 2能够连接到我的电路板 - 这真的不应该工作。我想,我无法正常打开设备。
我在这里缺少什么?我已检查过多个线程,但无法解决问题。有人可以建议吗?
答案 0 :(得分:0)
Prolific为PL2303开发了Android SDK。 您可以下载并试用: https://play.google.com/store/apps/details?id=tw.com.prolific.app.pl2303terminal
你也可以从Prolifics官方网站获得支持..