harmony 鸿蒙USB服务子系统使用指导

  • 2022-08-09
  • 浏览 (1013)

USB服务子系统使用指导

下面使用步骤以bulktransfer为例。

使用步骤

  1. 获取usb service实例
   static OHOS::USB::UsbSrvClient &g_usbClient = OHOS::USB::UsbSrvClient::GetInstance();
  1. 获取usb设备列表
   std::vector<OHOS::USB::UsbDevice> deviceList;
   int32_t ret = g_usbClient.GetDevices(deviceList);
  1. 申请设备权限
   int32_t ret = g_usbClient.RequestRight(device.GetName());
  1. 打开设备
   USBDevicePipe pip;
   int32_t et = g_usbClient.OpenDevice(device, pip);
  1. 配置设备接口
   ret = g_usbClient.ClaimInterface(pip, interface, true); //interface为deviceList中device的interface。
  1. 数据传输
   srvClient.BulkTransfer(pipe, endpoint, vdata, timeout);

pipe为打开设备后的数据传输通道,endpoint为device中数据传输的端点,vdata是需要传输或读取的二进制数据块,timeout为传输超时时长。

  1. 关闭设备
   ret = g_usbClient.Close(pip);

你可能感兴趣的鸿蒙文章

harmony 鸿蒙subsystems

harmony 鸿蒙AI框架开发指导

harmony 鸿蒙应用特权配置指南

harmony 鸿蒙开发实例

harmony 鸿蒙搭建环境

harmony 鸿蒙开发指导

harmony 鸿蒙概述

harmony 鸿蒙ArkCompiler开发指导

harmony 鸿蒙appspawn应用孵化组件

harmony 鸿蒙bootstrap服务启动组件

1  赞