图书介绍
圈圈教你玩USB 第2版2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载

- 刘荣编著 著
- 出版社: 北京:北京航空航天大学出版社
- ISBN:9787512410923
- 出版时间:2013
- 标注页数:403页
- 文件大小:508MB
- 文件页数:419页
- 主题词:USB总线-串行接口
PDF下载
下载说明
圈圈教你玩USB 第2版PDF格式电子书版下载
下载的文件为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 USB的包结构及传输过程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 控制传输23
1.10.6 端点类型与传输类型的关系23
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 按键部分34
2.6 指示灯部分34
2.7 IDE接口部分35
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.1 2 本章小结61
第3章 USB鼠标的实现62
3.1 USB鼠标工程的建立62
3.2 USB的断开与连接62
3.3 USB中断的处理66
3.4 读取从主机发送到端点0的数据67
3.5 USB标准请求74
3.5.1 USB标准设备请求的结构74
3.5.2 GET_DESCRIPTOR请求76
3.5.3 SET_ADDRESS请求77
3.5.4 SET_CONFIGURATION请求78
3.6 设备描述符的实现78
3.7 设备描述符的返回82
3.8 设置地址请求的处理92
3.9 配置描述符集合的结构94
3.9.1 配置描述符的结构94
3.9.2 接口描述符的结构95
3.9.3 端点描述符的结构96
3.9.4 HID描述符的结构96
3.10 配置描述符集合的实现以及返回97
3.11 字符串及语言ID请求的实现101
3.12 设置配置请求的实现107
3.13 报告描述符的结构及实现110
3.14 报告的返回116
3.15 Bus Hound工具的简介120
3.16 本章小结122
第4章 USB键盘的实现123
4.1 USB键盘工程的建立123
4.2 设备描述符的实现123
4.3 配置描述符集合的实现124
4.3.1 配置描述符125
4.3.2 接口描述符125
4.3.3 HID描述符125
4.3.4 端点描述符125
4.4 字符串描述符128
4.5 报告描述符128
4.6 输入和输出报告的实现131
4.7 USB键盘实例的测试134
4.8 再谈USB HID的报告描述符136
4.9 带鼠标功能的USB键盘(方法一)138
4.10 带鼠标功能的USB键盘(方法二)144
4.11 多媒体USB键盘152
4.12 本章小结157
第5章 用户自定义的USB HID设备158
5.1 MyUsbHid工程的建立158
5.2 描述符的修改158
5.3 报告的实现160
5.4 对用户自定义的USB HID设备的访问162
5.5 访问HID设备时所用到的相关函数163
5.5.1 获取HID设备的接口类GUID的函数163
5.5.2 获取指定类的所有设备信息集合的函数163
5.5.3 从设备信息集合中获取一个设备接口信息的函数164
5.5.4 获取指定设备接口详细信息的函数165
5.5.5 打开设备的函数166
5.5.6 获取HID设备属性的函数167
5.5.7 从设备读取数据的函数167
5.5.8 往设备写数据的函数168
5.5.9 通过控制端点0读取报告的函数168
5.5.10 通过控制端点0发送报告的函数168
5.5.11 关闭句柄的函数169
5.5.12 需要包含的库文件169
5.6 访问USB HID设备的上位机软件的实现169
5.6.1 上位机程序编写的思路169
5.6.2 查找及打开HID设备的代码170
5.6.3 读输入报告线程的代码175
5.6.4 写输出报告的代码(发送LED的状态)178
5.6.5 写输出报告线程的代码180
5.6.6 线程的创建以及设备插拔事件的注册181
5.6.7 对设备状态改变事件的处理182
5.7 软件界面以及使用方法183
5.8 本章小结184
第6章 USB转串口185
6.1 串口家族历史185
6.2 串口接头的引脚分布及功能185
6.3 USB转串口的实现方法186
6.4 设备描述符187
6.5 字符串描述符188
6.6 配置描述符集合189
6.6.1 配置描述符189
6.6.2 CDC接口描述符189
6.6.3 类特殊接口描述符——功能描述符190
6.6.4 接口0(CDC接口)的端点描述符192
6.6.5 数据类接口的接口描述符192
6.6.6 接口1(数据类接口)的端点描述符193
6.6.7 修改好描述符后的测试194
6.7 类请求的实现196
6.7.1 GET_LINE_CODING请求196
6.7.2 SERIAL_STATE通知197
6.7.3 SET_CONTROL_LINE_STATE请求198
6.7.4 SET_LINE_CODING请求198
6.7.5 实现类请求后的测试200
6.8 对串口数据的处理201
6.9 安装驱动用的inf文件207
6.10 本章小结210
第7章 USB MIDI键盘211
7.1 MIDI简介211
7.2 MIDI的工作原理212
7.3 USB MIDI设备的数据流模型212
7.4 设备描述符213
7.5 配置描述符集合213
7.5.1 配置描述符213
7.5.2 音频控制接口描述符213
7.5.3 类特殊音频控制接口描述符214
7.5.4 MIDI流接口描述符214
7.5.5 类特殊MIDI流接口描述符215
7.5.6 端点描述符和类特殊端点描述符219
7.5.7 字符串描述符221
7.6 修改好描述符后的测试221
7.7 USB MIDI键盘的数据返回222
7.8 USB MIDI键盘的使用225
7.9 单片机自动弹奏的实现227
7.10 本章小结227
第8章 U盘228
8.1 USB大容量存储设备228
8.2 设备描述符228
8.3 字符串描述符229
8.4 配置描述符集合229
8.4.1 配置描述符229
8.4.2 接口描述符229
8.4.3 端点描述符230
8.5 测试230
8.6 类特殊请求231
8.6.1 Get Max LUN请求231
8.6.2 Bulk-Only Mass Storage Reset请求232
8.7 仅批量传输协议的数据流模型232
8.7.1 命令块封包CBW的结构233
8.7.2 命令状态封包CSW的结构234
8.7.3 对批量数据的处理234
8.8 SCSI命令集和UFI命令集234
8.8.1 查询命令INQUIRY235
8.8.2 读格式化容量命令READ FORMAT CAPACITIES237
8.8.3 读容量命令READ CAPACITY238
8.8.4 READ(10)命令239
8.8.5 WRITE(10)命令240
8.8.6 REQUESTSENSE命令241
8.8.7 TEST UNIT READY命令242
8.9 FAT文件系统242
8.9.1 关于DBR243
8.9.2 关于FAT表245
8.9.3 关于目录项246
8.10 模拟一个FAT16文件系统247
8.11 实验结果248
8.12 IDE转USB的实现250
8.13 本章小结251
第9章 自定义USB设备及驱动开发252
9.1 用户自定义USB设备252
9.1.1 设备描述符252
9.1.2 配置描述符集合252
9.1.3 字符串描述符252
9.1.4 数据的处理253
9.2 驱动程序开发简介253
9.3 WDM驱动开发编程环境的建立253
9.4 创建一个USB WDM驱动程序255
9.5 对工程的编译264
9.6 关于inf文件265
9.7 驱动程序的修改266
9.7.1 Read(KIrp I)函数267
9.7.2 Write(KIrp I)函数270
9.7.3 EP1_READ_Handler(KIrp I)函数271
9.7.4 EP1_WRITE_Handler(KIrp I)函数273
9.7.5 EP2_READ_Handler(KIrp I)函数273
9.7.6 EP2_WRITE_Handler(KIrp 1)函数274
9.8 驱动的安装及安装后的信息274
9.9 应用程序对驱动的访问277
9.10 测试软件的使用279
9.11 本章小结281
第10章 USB过滤驱动开发282
10.1 过滤驱动简介282
10.2 使用DS创建一个下层过滤驱动282
10.3 过滤驱动代码的修改287
10.4 过滤驱动的安装292
10.5 过滤驱动的卸载294
10.6 驱动程序测试296
10.7 本章小结299
第11章 USB触摸屏设备300
11.1 UsbTouchScreen工程的建立300
11.2 描述符的修改300
11.3 报告的实现304
11.4 测试309
11.5 WIN7下的多点触摸309
11.6 多点触摸和单点触摸模式的切换312
11.7 多点触摸的报告描述符实现312
11.8 多点触摸报告的实现320
11.9 多点触摸在WIN7下的测试332
11.10 本章小结334
第12章 移植到AVR单片机上335
12.1 AT90USB162芯片介绍335
12.2 硬件抽象层的移植336
12.3 main.c和 usbcore.c的修改346
12.4 USB鼠标的移植350
12.5 本章小节350
第13章 移植到ARM微控制器上351
13.1 AT91 SAM7S64芯片介绍351
13.2 硬件抽象层的移植351
13.3 main.c和usbcore.c的修改362
13.4 其他几个例子的移植364
13.5 本章小节364
第14章 更多USB设备的实现365
14.1 真U盘的实现365
14.2 USB读卡器的实现371
14.3 USB音频频谱显示381
14.4 USB声卡的实现392
14.5 本章小节395
附录 第3章实例的完整调试信息396
参考文献402
后记403
热门推荐
- 2141936.html
- 2418672.html
- 3664001.html
- 3911101.html
- 2172984.html
- 3751616.html
- 850057.html
- 780889.html
- 3453895.html
- 2133856.html
- http://www.ickdjs.cc/book_3122219.html
- http://www.ickdjs.cc/book_3203906.html
- http://www.ickdjs.cc/book_2303209.html
- http://www.ickdjs.cc/book_2312559.html
- http://www.ickdjs.cc/book_1121113.html
- http://www.ickdjs.cc/book_2747080.html
- http://www.ickdjs.cc/book_1844788.html
- http://www.ickdjs.cc/book_2214669.html
- http://www.ickdjs.cc/book_2432229.html
- http://www.ickdjs.cc/book_3471679.html