三星S6无法读取到Usb数据

通过UsbDeviceConnection读取不到三星S6等系列的Usb串口数据,其它如华为、Oppo等都可以
正常读到,这是为啥呢?
打开Usb接口代码如下:

 showInfo("开始寻找端口");
        int interfaceCount = targetdevice.getInterfaceCount();
        showInfo("端口数量:"+interfaceCount);
        for (int interfaceIndex = 0; interfaceIndex < interfaceCount; interfaceIndex++) {
            UsbInterface usbInterface = targetdevice.getInterface(interfaceIndex);
            showUSBClass(usbInterface);
            if ((UsbConstants.USB_CLASS_CDC_DATA != usbInterface.getInterfaceClass())
                    && (UsbConstants.USB_CLASS_COMM != usbInterface.getInterfaceClass())
                    && UsbConstants.USB_CLASS_VENDOR_SPEC!=usbInterface.getInterfaceClass()) {
                continue;
            }

            int endpointCount = usbInterface.getEndpointCount();
            showInfo("端点数量:"+endpointCount);
            for (int i = 0; i < endpointCount; i++) {
                UsbEndpoint ep = usbInterface.getEndpoint(i);
                if (ep.getType() == UsbConstants.USB_ENDPOINT_XFER_BULK) {
                    if (ep.getDirection() == UsbConstants.USB_DIR_OUT) {
                        mUsbEndpointIn = ep;
                    } else {
                        mUsbEndpointOut = ep;
                    }
                    showUsbpointType(ep);
                }
            }

            if ((null == mUsbEndpointIn) || (null == mUsbEndpointOut)) {
                showInfo("endpoint is null");
                mUsbEndpointIn = null;
                mUsbEndpointOut = null;
                usbInterface = null;
            } else {
                showInfo("out: " + mUsbEndpointOut + ",in: " +
                        mUsbEndpointIn);
                mInterface = usbInterface;
                mDeviceConnection = usbManager.openDevice(targetdevice);
                beginTest();
                break;
            }
        }

发送读取代码如下:

     int ret;
        ret = mDeviceConnection.bulkTransfer(mUsbEndpointOut, bytes, bytes.length, 5000);
        byte[] receiveytes = new byte[32];   //根据设备实际情况写数据大小
        ret = mDeviceConnection.bulkTransfer(mUsbEndpointIn, receiveytes, receiveytes.length,

1个回答

debug查看下断点 锁定问题出现在那一行代码

Java_Tang
Java_Tang 没办法debug
大约 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐