android - HID USB 设备 - 发送和接收数据
问题描述
我想从通过 otg 电缆连接到 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 字节数据并接收相同长度的响应?我不能使用例如。https://github.com/felHR85/UsbSerial因为我的 USB 设备不受支持。
解决方案
推荐阅读
- c# - 查找列表中两个数字之间的重叠和间隙
- node.js - NodeJS Cheerio 库分页网页抓取
- c - 需要帮助修复一个近似于 pi 的算法
- spring-boot - 使用控制器模型变量和 Thymeleaf 动态调用 messages.properties
- python - 从内部类访问外部类对象属性(Python)
- c - 在 Luhn's Alg 上制作了一个脚本。无法理解如何为修改后的脚本清晰地创建和调用函数
- android - Firestore 的文档 ID 有多独特?考虑超过百万份文件
- java - SpringBoot CRUD
- jmeter - How to wait until I get a specific response in jmeter?
- python - docker上的Python打印到标准输出