第一章USB概述及协议基础11.1USB是什么11.2USB的特点11.3USB的拓扑结构21.4USB的电气特性51.5USB的线缆以及插头、插座51.6USB的插入检测机制71.7USB的描述符及其之间的关系91.8USB设备的枚举过程101.9USB的包结构及传输过程111.9.1USB包的结构及包的分类111.9.2令牌包131.9.3数据包141.9.4握手包141.9.5特殊包151.9.6如何处理数据包151.10USB的四种传输类型161.10.1USB事务161.10.2批量传输161.10.3中断传输181.10.4等时传输(同步传输)191.10.5控制传输201.10.6端点类型与传输类型的关系211.10.7传输类型与端点支持的最大包长211.11本章小结21第二章硬件系统设计12.1方案以及芯片的选定12.2D12引脚功能说明22.3D12与89S52的连接42.4串口部分电路62.5按键部分72.6指示灯部分72.7IDE接口部分82.8单片机部分82.9元件安装82.10电路调试112.11测试程序的编写和调试122.11.1建立一个工程122.11.2为工程添加源文件142.11.3KEIL工具栏及仿真介绍152.11.4按键驱动的编写182.11.5串口驱动的编写242.11.6PDIUSBD12读写函数及读ID的实现282.12本章小结33第三章USB鼠标的实现13.1USB鼠标工程的建立13.2USB的断开与连接13.3USB中断的处理43.4读取从主机发送到端点0的数据63.5USB标准请求123.5.1USB标准设备请求的结构133.5.2GET_DESCRIPTOR请求153.5.3SET_ADDRESS请求163.5.6SET_CONFIGURATION请求163.6设备描述符的实现173.7设备描述符的返回203.8设置地址请求的处理303.9配置描述符集合的结构323.9.1配置描述符的结构323.9.2接口描述符的结构333.9.3端点描述符的结构333.9.4HID描述符的结构343.10配置描述符集合的实现以及返回353.11字符串及语言ID请求的实现393.12设置配置请求的实现453.13报告描述符的结构及实现483.14报告的返回543.15BusHound工具的简介573.16本章小结59第四章USB键盘的实现14.1USB键盘工程的建立14.2设备描述符的实现14.4配置描述符集合的实现24.4.1配置描述符34.4.2接口描述符34.4.3HID描述符34.4.4端点描述34.5字符串描述符64.6报告描述符64.7输入和输出报告的实现104.8USB键盘实例的测试134.9再谈USBHID的报告描述符144.10带鼠标功能的USB键盘(方法一)164.11带鼠标功能的键盘(方法二)224.12多媒体USB键盘294.13本章小结34第五章用户自定义的USBHID设备15.1MyUsbHid工程的建立15.2描述符的修改15.3报告的实现35.4对用户自定义的USBHID设备的访问55.5访问HID设备时所用到的相关函数55.5.1获取HID设备的接口类GUID的函数
1