harmony 鸿蒙USB服务子系统使用指导
USB服务子系统使用指导
下面使用步骤以bulktransfer为例。
- 获取usb service实例
static OHOS::USB::UsbSrvClient &g_usbClient = OHOS::USB::UsbSrvClient::GetInstance();
- 获取usb设备列表
std::vector<OHOS::USB::UsbDevice> deviceList;
int32_t ret = g_usbClient.GetDevices(deviceList);
- 申请设备权限
int32_t ret = g_usbClient.RequestRight(device.GetName());
- 打开设备
USBDevicePipe pip;
int32_t et = g_usbClient.OpenDevice(device, pip);
- 配置设备接口
ret = g_usbClient.ClaimInterface(pip, interface, true); //interface为deviceList中device的interface。
- 数据传输
srvClient.BulkTransfer(pipe, endpoint, vdata, timeout);
pipe为打开设备后的数据传输通道,endpoint为device中数据传输的端点,vdata是需要传输或读取的二进制数据块,timeout为传输超时时长。
- 关闭设备
ret = g_usbClient.Close(pip);
你可能感兴趣的鸿蒙文章
1
赞
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦