USB协议中,键盘和鼠标分别是什么身份,ADB又是什么身份

在USB协议架构中,USB鼠标和键盘均属于“从设备”(Slave Device),而与之连接的电脑(主机)是“主设备”(Master Device,即Host)。以下是详细解释:

1. USB设备角色划分

主设备(Host): 控制USB总线,发起所有数据传输请求。典型代表:电脑、嵌入式开发板(运行Linux/Android等OS时作为Host)。

从设备(Slave Device): 响应主设备的请求,被动传输数据。典型代表:鼠标、键盘、U盘、摄像头等外设。

关键点:USB协议严格区分主从角色,从设备无法主动发起通信(需等待Host轮询或中断传输)。

2. 鼠标/键盘的USB设备类

HID类设备(Human Interface Device): 鼠标和键盘属于HID类,专为人机交互设计。 通信方式: 中断传输(Interrupt Transfer):Host定期轮询设备(如鼠标移动事件),确保低延迟响应。 数据格式:遵循HID协议规范(如键盘扫描码、鼠标位移报文)。 设备描述符: 通过USB枚举过程,Host读取设备的VID/PID(厂商ID/产品ID)和类代码(如HID类代码为0x03),加载对应驱动。

3. 嵌入式系统中的角色切换

默认情况: 嵌入式开发板作为Host时,外接的 鼠标/键盘 是从设备。 特殊场景: 若开发板配置为USB OTG(On-The-Go)模式,可动态切换角色: 作为Host:连接鼠标/键盘。 作为Device:模拟U盘或被电脑识别为HID设备(如自定义开发板充当键盘输入)。

示例: 树莓派默认作为Host,外接鼠标/键盘。 通过修改内核配置启用CONFIG_USB_OTG后,树莓派可切换为Device模式,被电脑识别为虚拟键盘。

4. 常见误区澄清

无线鼠


《魔兽世界》火囊掉落数量多怪物位置介绍
C语言文件后缀有哪些?(超过10种)