目录
USB 背景知识介绍:
其中usbmouse.c就属于USB设备驱动,USB Core 和 USB 主机控制器内核已经帮我们实现。
内核是伟大的,为了减缓程序搬砖民工脱发的速度,默默的奉献了自己的靓丽青春。
那么,usbmouse.c会用到其中的控制传输和中断传输。
这里的中断并非物理意义上的IRQ, 只是指的是:每隔一定的周期要求传输一次(并不是要求必须按固定周期要发送一次数据)。这个中断的名字有点挂羊头卖狗肉,可以单纯理解成轮询 。
USB 2.0规范里提供的描述符不止四种,但是我们这里抓住主要矛盾,只挑选最重要的四种来讲。
1. 设备描述符描述有关USB设备的一般信息。它包括信息全局适用于设备和所有设备的配置。 USB设备只有一个设备描述符。
2. 配置描述符描述有关特定设备配置的信息。USB设备具有一个或多个配置描述符。 每个配置都有一个或多个接口,每个接口都有零个或多个端点。
3. 接口描述符描述配置中的特定接口。 配置提供一个或多个接口,每个接口具有零个或多个端点描述符,用于描述配置中的唯一端点集。
4. 用于接口的每个端点都有自己的描述符。 此描述符包含主机确定每个端点的带宽要求所需的信息。
持续输出干货,敬请关注。