Android controlTransfer和bulkTransfer有何不同?

Android controlTransfer和bulkTransfer有何不同?,android,usb-drive,Android,Usb Drive,我正在制作一个Android应用程序,从USB设备(模式USB主机)获取数据。我阅读了上的文档以及stackoverflow中的一些帖子,发现它们有时使用bulkTransfer(),有时使用controlTransfer(),但我无法找出这两种方法之间的区别,以及何时使用每种方法?谁能给我一些建议吗?控制传输主要用于发送命令或接收设备描述符。通常在设置设备时使用。低速设备的典型数据包长度为8字节,高速设备的数据包长度为8、16、32或64字节。通过此方法传输的数据被格式化为三个数据包: 数据包

我正在制作一个Android应用程序,从USB设备(模式USB主机)获取数据。我阅读了上的文档以及
stackoverflow
中的一些帖子,发现它们有时使用
bulkTransfer()
,有时使用
controlTransfer()
,但我无法找出这两种方法之间的区别,以及何时使用每种方法?谁能给我一些建议吗?

控制传输主要用于发送命令或接收设备描述符。通常在设置设备时使用。低速设备的典型数据包长度为8字节,高速设备的数据包长度为8、16、32或64字节。通过此方法传输的数据被格式化为三个数据包: 数据包1–设置:包含地址和端点号的数据包 数据包2–数据:正在发送的数据 数据包3–状态:设备确认是否已正确接收并读取设置数据包,且无错误


大容量传输用于向目标设备发送大数据包。打印机和扫描仪通常遵循此传输协议。批量传输内置了错误纠正功能,以确保数据传输和接收无误。当获得的数据量等于请求的数据量时,该过程被视为完成。这种传输方法对于时间敏感的应用程序并不理想,因为没有延迟保证。

控制传输主要用于发送命令或接收设备描述符。通常在设置设备时使用。低速设备的典型数据包长度为8字节,高速设备的数据包长度为8、16、32或64字节。通过此方法传输的数据被格式化为三个数据包: 数据包1–设置:包含地址和端点号的数据包 数据包2–数据:正在发送的数据 数据包3–状态:设备确认是否已正确接收并读取设置数据包,且无错误


大容量传输用于向目标设备发送大数据包。打印机和扫描仪通常遵循此传输协议。批量传输内置了错误纠正功能,以确保数据传输和接收无误。当获得的数据量等于请求的数据量时,该过程被视为完成。这种传输方法不适合时间敏感型应用程序,因为没有延迟保证。

谢谢您的回答。您能更清楚地解释一下
controlTransfer()
发送的命令吗?它是用来干什么的@abbasabbastank谢谢你的回答。你能更清楚地解释一下
controlTransfer()
发送的命令吗?它是用来干什么的@阿巴斯阿巴斯