1# 常见问题 2 3<!--Kit: Basic Services Kit--> 4<!--Subsystem: USB--> 5<!--Owner: @hwymlgitcode--> 6<!--Designer: @w00373942--> 7<!--Tester: @dong-dongzhen--> 8<!--Adviser: @w_Machine_cc--> 9 10## 手机USB连接个人电脑时使用usbManager.getDevices获取的设备列表为空 11 12### 问题现象 13 14手机通过USB方式与个人电脑连接后,在手机侧使用usbManager.getDevices获取设备列表为空,未将个人电脑识别为USB设备。 15 16### 可能原因 17 18USB设备包括主设备(Host)和从设备(Device)。主设备负责数据传输以及端口管理,从设备为被管理的对象。 19 20usbManager.getDevices接口的作用,是在当前设备作为主设备时去获取所连接的从设备列表。 21 22基于上述情况: 23 24- 设备(如手机)USB连接个人电脑时,个人电脑默认是主设备,手机是从设备。此时在手机侧调用usbManager.getDevices接口查询到设备列表为空,属于正常现象。 25- 设备(如手机)USB连接鼠标键盘时,手机默认是主设备,鼠标键盘是从设备。此时在手机侧调用usbManager.getDevices接口可以查询到设备列表。 26 27### 解决措施 28 29确保当前设备作为主设备,所连接的设备为从设备。(部分设备支持主、从两种USB设备模式。此时需要将设备设置为从设备模式,方可被主设备获取。) 30 31## 使用USB串口传输数据时出现乱码 32 33### 问题现象 34 35传输数据出现乱码。 36 37### 可能原因 38 39波特率不匹配。 40 41### 解决措施 42 43检查两端的波特率是否一致,如不一致请重新配置。 44 45## 使用USB串口传输数据时通信失败 46 47### 问题现象 48 49双方无法建立连接无任何数据收发或者传输的数据帧不完整(如仅接收部分字节)。 50 51### 可能原因 52 53校验位或停止位配置错误。 54 55### 解决措施 56 57检查两端校验位或停止位参数配置是否与设备要求完全一致。 58 59## 使用USB串口传输数据时出现丢包 60 61 62### 问题现象 63 64传输数据偶发丢包。 65 66### 可能原因 67 68噪声干扰或停止位不足。 69 70### 解决措施 71 72排查是否受到干扰,修改停止位增加抗干扰性(如从1位改为2位)。 73