我正在尝试使用FTDI提供的Java类库将FTDI FT2232H连接到Android应用程序,而该应用程序不需要root访问权限。
有没有办法通过此软件包使用VCP,而不是旧式的本机驱动程序路由?或者,如果没有,是否有办法通过它来模拟VCP接口(或者完全有可能推出我自己的解决方案?)我发现官方文档有些缺乏,因为他们鼓励使用Java库而不是Java库。本机,但不解释它是否提供完整的功能奇偶校验。
答案 0 :(得分:-1)
是的,您可以通过D2XX驱动程序使用VCP。看一下Java D2xx for Android API User Manual(以及C / C ++ Software Application Development D2XX Programmer's Guide和FTD2XX Programmer’s Guide
Version 2.01文档),尤其是FT2232HTestFragment.java
类中的Official Android D2XX Example Source code:
public void SendMessage(View view) { // Do something in response to button FT_Device ftDev; if( uart_configured_0 == false ) { Toast.makeText(DeviceFT2232HTestContext, "UART Port 0 not configured yet...", Toast.LENGTH_SHORT).show(); return; } ftDev = ft_device_0; if(ftDev.isOpen() == false) { Log.e(">>@@","SendMessage: ftDev not open!!!!!! index: 0"); } else { Log.e(">>@@","SendMessage: ftDev open, index: 0"); /* Log.e(">>@@","port 0 isn:" + ftDev.deviceInfoNode.iSerialNumber + " bcd:" + ftDev.deviceInfoNode.bcdDevice + " id:" + ftDev.deviceInfoNode.id + " loc:" + ftDev.deviceInfoNode.location + " sn:" + ftDev.deviceInfoNode.serialNumber); */ } ftDev.setLatencyTimer((byte) 16); // ftDev.Purge(true, true); String writeData = writeText_0.getText().toString(); byte[] OutData = writeData.getBytes(); int iLen = ftDev.write(OutData, writeData.length()); Log.e(">>@@", "Port 0 write Len:" + iLen + " s:" + writeData); Toast.makeText(DeviceFT2232HTestContext, "Port 0 write Len:" + iLen + " s:" + writeData, Toast.LENGTH_SHORT).show(); }
以及that之类的示例(由Keisuke SUZUKI)。