# 常见问题

#### 手机USB连接个人电脑时使用usbManager.getDevices获取的设备列表为空

#### 问题现象

手机通过USB方式与个人电脑连接后，在手机侧使用usbManager.getDevices获取设备列表为空，未将个人电脑识别为USB设备。

#### 可能原因

USB设备包括主设备（Host）和从设备（Device）。主设备负责数据传输以及端口管理，从设备为被管理的对象。

usbManager.getDevices接口的作用，是在当前设备作为主设备时去获取所连接的从设备列表。

基于上述情况：

*   设备（如手机）USB连接个人电脑时，个人电脑默认是主设备，手机是从设备。此时在手机侧调用usbManager.getDevices接口查询到设备列表为空，属于正常现象。
*   设备（如手机）USB连接鼠标键盘时，手机默认是主设备，鼠标键盘是从设备。此时在手机侧调用usbManager.getDevices接口可以查询到设备列表。

#### 解决措施

确保当前设备作为主设备，所连接的设备为从设备。（部分设备支持主、从两种USB设备模式。此时需要将设备设置为从设备模式，方可被主设备获取。）

#### 使用USB串口传输数据时出现乱码

#### 问题现象

传输数据出现乱码。

#### 可能原因

波特率不匹配。

#### 解决措施

检查两端的波特率是否一致，如不一致请重新配置。

#### 使用USB串口传输数据时通信失败

#### 问题现象

双方无法建立连接无任何数据收发或者传输的数据帧不完整（如仅接收部分字节）。

#### 可能原因

校验位或停止位配置错误。

#### 解决措施

检查两端校验位或停止位参数配置是否与设备要求完全一致。

#### 使用USB串口传输数据时出现丢包

#### 问题现象

传输数据偶发丢包。

#### 可能原因

噪声干扰或停止位不足。

#### 解决措施

排查是否受到干扰，修改停止位增加抗干扰性（如从1位改为2位）。