用此连接可以想USB设备发送和接收数据,主要方法有: 1)bulkTransfer(UsbEndpoint endpoint, byte[] buffer, int length, int timeout) 通过给定的endpoint来进行大量的数据传输,传输的方向取决于该节点的方向,buffer是要发送或接收的字节数组,length是该字节数组的长度。传输成功则返回所传输的字节数组的长度,失败则返回...
getEndpoint(index); // MyLog.e(" i:" + i + " :" + connectionState + " j:" + index + ":" + point.toString() + " type:" + point.getType() + " :" + point.getDirection()); //判断UsbEndpoint的类型,也即是type。这种类型的UsbDevice使用USB_ENDPOINT_XFER_BULK这种类型的Usb...
for (int index = 0; index < usbInterface.getEndpointCount(); index++) { UsbEndpoint point = usbInterface.getEndpoint(index); if (point.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) { if (point.getDirection() == UsbConstants.USB_DIR_IN) { usbEndpointIn = point; } else if (poi...
UsbEndpoint usbEndpointIn = null; for (int i = 0; i < usbInterface.getEndpointCount(); i++) { UsbEndpoint usbEndpoint = usbInterface.getEndpoint(i); int direction = usbEndpoint.getDirection(); int type = usbEndpoint.getType(); if (type != UsbConstants.USB_ENDPOINT_XFER_BULK) { //...
USB通信两端分别称为:HOST(USB主机) 与 Device(USB从机/USB配件),常见的主机就是我们的计算机。而Android 可以支持USB主机模式与USB配件模式,意思就是Android既可以是主机也可以是配件。 Android作为配件与其通信的主机必须设计为与Android设备兼容,
index<usbInterface.getEndpointCount();index++){UsbEndpoint point=usbInterface.getEndpoint(index);if(point.getType()==UsbConstants.USB_ENDPOINT_XFER_BULK){if(point.getDirection()==UsbConstants.USB_DIR_IN){usbEndpointIn=point;}elseif(point.getDirection()==UsbConstants.USB_DIR_OUT){usbEndpointOut...
*/if(!usb_endpoint_xfer_bulk(video->ep->desc)) {uvc_function_setup_continue(uvc); } uvc->state = UVC_STATE_STREAMING;return0; } 在以上代码段加打印调试知道是此时stream on走到这里时 uvc->state 值已经是 UVC_STATE_STREAMING,直接返回 -EINVAL,而对比isoc传输stream on时是UVC_STATE_CONNECTED状...
USB_ENDPOINT_XFER_BULK) { if (endpoint.getDirection() == UsbConstants.USB_DIR_OUT) { outEndpoint = endpoint; } else { inEndpoint = endpoint; } } } } } 1、数据传输 在完成设备枚举后,选定UsbDevice对象并获取权限后,接下来就可以与之进行数据交互。在USB通信过程中主要有四种数据传输方式:...
UsbEndpoint point = usbInterface.getEndpoint(index);if(point.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) {if(point.getDirection() == UsbConstants.USB_DIR_IN) { usbEndpointIn = point; }elseif(point.getDirection() == UsbConstants.USB_DIR_OUT) { ...
// 一旦确定了UsbDevice以及UsbInterface,那么我们就可以使用UsbInterface来获取输出和输入的通道 for (int iEndpoint = 0; iEndpoint < intf.getEndpointCount();iEndpoint++) { UsbEndpoint endpoint = anInterface.getEndpoint(iEndpoint); if (endpoint.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) { ...