图书介绍
圈圈教你玩USBPDF|Epub|txt|kindle电子书版本网盘下载
![圈圈教你玩USB](https://www.shukui.net/cover/64/31241809.jpg)
- 刘荣编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787811246001
- 出版时间:2009
- 标注页数:315页
- 文件大小:74MB
- 文件页数:328页
- 主题词:电子计算机-接口
PDF下载
下载说明
圈圈教你玩USBPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 USB概述及协议基础1
1.1 USB是什么1
1.2 USB的特点1
1.3 USB的拓扑结构2
1.4 USB的电气特性5
1.5 USB的线缆、插头及插座6
1.6 USB的插入检测机制8
1.7 USB的描述符及其之间的关系10
1.8 USB设备的枚举过程11
1.9 SB的包结构及传输过程13
1.9.1 USB的包结构及包的分类13
1.9.2 令牌包15
1.9.3 数据包16
1.9.4 握手包17
1.9.5 特殊包17
1.9.6 如何处理数据包18
1.10 USB的四种传输类型19
1.10.1 USB事务19
1.10.2 批量传输19
1.10.3 中断传输21
1.10.4 等时传输22
1.10.5 控制传输22
1.10.6 端点类型与传输类型的关系24
1.10.7 传输类型与端点支持的最大包长24
1.11 本章小结24
第2章 硬件系统设计25
2.1 方案及芯片的选定25
2.2 D12引脚功能说明26
2.3 D12与AT89S52的连接30
2.4 串口部分电路32
2.5 按键部分33
2.6 指示灯部分34
2.7 IDE接口部分34
2.8 单片机部分35
2.9 元件安装35
2.10 电路调试38
2.11 测试程序的编写和调试39
2.11.1 建立一个工程40
2.11.2 为工程添加源文件41
2.11.3 KEIL工具栏及仿真介绍43
2.11.4 按键驱动的编写46
2.11.5 串口驱动的编写52
2.11.6 PDIUSBD12读写函数及读ID的实现57
2.12 本章小结62
第3章 USB鼠标的实现63
3.1 USB鼠标工程的建立63
3.2 USB的断开与连接63
3.3 USB中断的处理67
3.4 读取从主机发送到端点0的数据68
3.5 USB标准请求75
3.5.1 USB标准设备请求的结构75
3.5.2 GET_DESCRIPTOR请求77
3.5.3 SET_ADDRESS请求78
3.5.4 SET_CONFIGURATION请求78
3.6 设备描述符的实现79
3.7 设备描述符的返回83
3.8 设置地址请求的处理93
3.9 配置描述符集合的结构95
3.9.1 配置描述符的结构95
3.9.2 接口描述符的结构96
3.9.3 端点描述符的结构97
3.9.4 HID描述符的结构98
3.10 配置描述符集合的实现以及返回99
3.11 字符串及语言ID请求的实现103
3.12 设置配置请求的实现109
3.13 报告描述符的结构及实现112
3.14 报告的返回118
3.15 Bus Hound工具的简介122
3.16 本章小结124
第4章 USB键盘的实现125
4.1 USB键盘工程的建立125
4.2 设备描述符的实现125
4.3 配置描述符集合的实现126
4.3.1 配置描述符126
4.3.2 接口描述符127
4.3.3 HID描述符127
4.3.4 端点描述符127
4.4 字符串描述符130
4.5 报告描述符130
4.6 输入和输出报告的实现133
4.7 USB键盘实例的测试136
4.8 再谈USB HID的报告描述符138
4.9 带鼠标功能的USB键盘(方法一)140
4.10 带鼠标功能的USB键盘(方法二)146
4.11 多媒体USB键盘154
4.12 本章小结160
第5章 用户自定义的USBHID设备161
5.1 MyUsbHid工程的建立161
5.2 描述符的修改161
5.3 报告的实现163
5.4 对用户自定义的USB HID设备的访问165
5.5 访问HID设备时所用到的相关函数166
5.5.1 获取HID设备的接口类GUID的函数166
5.5.2 获取指定类的所有设备信息集合的函数166
5.5.3 从设备信息集合中获取一个设备接口信息的函数167
5.5.4 获取指定设备接口详细信息的函数168
5.5.5 打开设备的函数169
5.5.6 获取HID设备属性的函数170
5.5.7 从设备读取数据的函数170
5.5.8 往设备写数据的函数171
5.5.9 通过控制端点0读取报告的函数171
5.5.10 通过控制端点0发送报告的函数171
5.5.11 关闭句柄的函数172
5.5.12 需要包含的库文件172
5.6 访问USB HID设备的上位机软件的实现172
5.6.1 上位机程序编写的思路172
5.6.2 查找及打开HID设备的代码173
5.6.3 读输入报告线程的代码178
5.6.4 写输出报告的代码(发送LED的状态)181
5.6.5 写输出报告线程的代码183
5.6.6 线程的创建以及设备插拔事件的注册184
5.6.7 对设备状态改变事件的处理186
5.7 软件界面以及使用方法187
5.8 本章小结188
第6章 USB转串口189
6.1 串口家族历史189
6.2 串口接头的引脚分布及功能189
6.3 USB转串口的实现方法190
6.4 设备描述符191
6.5 字符串描述符192
6.6 配置描述符集合192
6.6.1 配置描述符193
6.6.2 CDC接口描述符193
6.6.3 类特殊接口描述符—功能描述符193
6.6.4 接口0(CDC接口)的端点描述符196
6.6.5 数据类接口的接口描述符196
6.6.6 接口1(数据类接口)的端点描述符197
6.6.7 修改好描述符后的测试198
6.7 类请求的实现200
6.7.1 GET_LINE_CODING请求200
6.7.2 SERIAL_STATE通知201
6.7.3 SET_CONTROL_LINE_STATE请求202
6.7.4 SET_LINE_CODING请求202
6.7.5 实现类请求后的测试204
6.8 对串口数据的处理205
6.9 安装驱动用的inf文件211
6.10 本章小结214
第7章 USBMIDI键盘216
7.1 MIDI简介216
7.2 MIDI的工作原理217
7.3 USBMIDI设备的数据流模型217
7.4 设备描述符218
7.5 配置描述符集合218
7.5.1 配置描述符218
7.5.2 音频控制接口描述符218
7.5.3 类特殊音频控制接口描述符219
7.5.4 MIDI流接口描述符220
7.5.5 类特殊MIDI流接口描述符220
7.5.6 端点描述符和类特殊端点描述符225
7.5.7 字符串描述符227
7.6 修改好描述符后的测试227
7.7 USB MIDI键盘的数据返回228
7.8 USB MIDI键盘的使用230
7.9 单片机自动弹奏的实现232
7.10 本章小结233
第8章 U盘234
8.1 USB大容量存储设备234
8.2 设备描述符234
8.3 字符串描述符235
8.4 配置描述符集合235
8.4.1 配置描述符235
8.4.2 接口描述符235
8.4.3 端点描述符236
8.5 测试236
8.6 类特殊请求237
8.6.1 Get Max LUN请求237
8.6.2 Bulk-Only Mass Storage Reset请求238
8.7 仅批量传输协议的数据流模型239
8.7.1 命令块封包CBW的结构239
8.7.2 命令状态封包CSW的结构240
8.7.3 对批量数据的处理240
8.8 SCSI命令集和UFI命令集241
8.8.1 查询命令INQUIRY241
8.8.2 读格式化容量命令READ FORMAT CAPACITIES243
8.8.3 读容量命令READ CAPACITY244
8.8.4 READ(10)命令245
8.8.5 WRITE(10)命令246
8.8.6 REQUEST SENSE命令247
8.8.7 TEST UNIT READY命令248
8.9 FAT文件系统248
8.9.1 关于DBR249
8.9.2 关于FAT表251
8.9.3 关于目录项252
8.10 模拟一个FAT16文件系统253
8.11 实验结果254
8.12 IDE转USB的实现256
8.13 本章小结257
第9章 自定义USB设备及驱动开发258
9.1 用户自定义USB设备258
9.1.1 设备描述符258
9.1.2 配置描述符集合258
9.1.3 字符串描述符259
9.1.4 数据的处理259
9.2 驱动程序开发简介259
9.3 WDM驱动开发编程环境的建立259
9.4 创建一个USB WDM驱动程序262
9.5 对工程的编译270
9.6 关于inf文件272
9.7 驱动程序的修改272
9.7.1 Read(KIrpI)函数273
9.7.2 Write(KIrpI)函数276
9.7.3 EP1_READ_Handler(KIrp I)函数277
9.7.4 EP1_WRITE_Handler(KIrp I)函数279
9.7.5 EP2_READ_Handler(KIrp I)函数280
9.7.6 EP2_WRITE_Handler(KIrp I)函数280
9.8 驱动的安装及安装后的信息280
9.9 应用程序对驱动的访问284
9.10 测试软件的使用286
9.11 本章小结287
第10章 USB过滤驱动开发289
10.1 过滤驱动简介289
10.2 使用DS创建一个下层过滤驱动290
10.3 过滤驱动代码的修改294
10.4 过滤驱动的安装300
10.5 过滤驱动的卸载302
10.6 驱动程序测试303
10.7 本章小结306
附录 第3章实例的完整调试信息307
参考文献314
后记315