OpenHarmony开发者论坛

标题: ArkTS usbManager.bulkTransfer API 与设备通信失败,数据无法发送成功 [打印本页]

作者: young8    时间: 2024-3-7 18:58
标题: ArkTS usbManager.bulkTransfer API 与设备通信失败,数据无法发送成功
[md]执行usb.bulkTransfer 错误, 下面是日志打印 错误,这是什么错误? 请大神给看看

![image.png](https://forums-obs.openharmony.c ... wxnunaao0xzevne.png "image.png")

附代码实现,

```ts
initCard() {
    let devicesList: Array<usb.USBDevice> = usb.getDevices();
    console.log(`devicesList = ${devicesList}`);
    for (let index = 0; index < devicesList.length; index++) {
      const device = devicesList[index];
      if (device.vendorId == 1285) {
        let right: boolean = usb.hasRight(device.name);
        if (!right) {
          usb.requestRight(device.name).then((ret) => {
            if (ret) {
              this.initRfid(device)
            }
          });
        } else {
          this.initRfid(device)
        }
      }
    }
  }
initRfid(device) {
    usbDevicePipe = usb.connectDevice(device);
    interfaces = device.configs[0].interfaces[0];
    let ret1 = usb.releaseInterface(usbDevicePipe, interfaces);
    let cret: number = usb.claimInterface(usbDevicePipe, interfaces, true);
    if (cret != 0) {
      return
    }
    let outEndpoint: usb.USBEndpoint = interfaces.endpoints[0].direction == 0 ? interfaces.endpoints[0] : interfaces.endpoints[1];
    let inEndpoint: usb.USBEndpoint = interfaces.endpoints[0].direction == 0 ? interfaces.endpoints[1] : interfaces.endpoints[0];

    var arr = '117E550E00000100F400120100B7010032D8'
    var buffer = new Uint8Array(arr.match(/[\da-f]{2}/gi).map(function (h) {
      return parseInt(h, 16)
    }))
    let param = {
      request: 0,
      reqType: 0,
      target: 0,
      value: 0,
      index: 0,
      data: new Uint8Array(18)
    };
    usb.bulkTransfer(usbDevicePipe, outEndpoint, buffer, 15000).then((ret: number) => {
      if (ret == -1) {
        prompt.showToast({
          message: "配置读写器失败!"
        });
      } else {
        prompt.showToast({
          message: "打开配置读写器成功!"
        });
     
      }
    }).catch((error) => {
      console.info("usb writeData error : " + JSON.stringify(error));
    });
  }
```
[/md]




欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/) Powered by Discuz! X3.5