我想通过otg cable从天线连接到Android设备获取数据。我已经建立连接选择正确的端点来发送和接收数据。问题在于通信,我必须发送65个字节的数据,但是端点只允许64个,当我尝试发送65时,它会在1/2发送/读取请求后卡住。
private lateinit var connection: UsbDeviceConnection
private lateinit var usbEndpointZero: UsbEndpoint
private lateinit var usbEndpointOne: UsbEndpoint
override fun sendUsbPacket(data: ByteArray): Boolean {
synchronized(connection) {
connection.claimInterface(usbInterface, FORCE_INTERFACE)
val value = connection.bulkTransfer(usbEndpointOne, data, data.size/*usbEndpointOne.maxPacketSize*/, 0)
connection.releaseInterface(usbInterface)
return viewModel.getDeviceConnectedObservable().value ?: false
}
}
override fun receiveUsbPacket(data: ByteArray): Boolean {
synchronized(connection) {
connection.claimInterface(usbInterface, FORCE_INTERFACE)
val value = connection.bulkTransfer(usbEndpointZero, data, data.size/*usbEndpointZero.maxPacketSize*/, 0)
connection.releaseInterface(usbInterface)
return viewModel.getDeviceConnectedObservable().value ?: false
}
}
我该怎么做才能发送65个字节的数据并接收相同长度的响应?我不能用eg。 https://github.com/felHR85/UsbSerial因为我的USB设备不受支持。