圈圈教你USB.pdf文档扫描版,带目录,内容完整并且还附带光盘资料,本书是USB开发学习的入门书籍。
2022-03-23 14:53:15 184B USB开发 USB书籍 单片机开发
1
有关Treeview在VFP中的应用,内有详细说明及示列。
2022-03-23 14:12:47 231KB Treeview VFP+Treeview
1
转树莓派机器学习,Perf Machine Learning on Rasp Pi,by Gant Laborde。
2022-03-22 17:23:39 5.5MB 树莓派 机器学习 数据科学
1
au home spot cube,也叫水晶路由器、方块路由器,这是原版系统汉化固件,也是目前最稳定的固件,适合日常使用,另外除了刷机教程外附带了个人整理的机技巧,包括关闭WPS、使用中国5Ghz频道、更改时区、更改LAN IP地址、更改用户名密码、修改PIN码等,基本上能找到的命令都搜罗进来了
2022-03-21 15:24:29 3.08MB au 路由器 汉化 技巧
1
非常好的stm32入门资料,我以前在网上找了很久,但是只找到了一部分,这个资料是全部的。在我刚找到的时候,它名字是《stm32开发指南》,但是我发现和我以前找到的《原子教你stm32》的内容一模一样,所以我就斗胆传了上来,我本人积分也不多,下载东西时饱受积分的折磨,每次下载完成后都得去评论一下挣积分,也不想让大家为下载我的这个文档而发愁,所以这次也就不要积分啦
2022-03-20 08:55:32 23.59MB stm32
1
该源码实现一款非常好的弹幕游戏,游戏源码简单易懂,游戏法很简单,只要控制不被屏幕的弹球击中,手指触碰移动物体模块,就可以一直到最后,是一个不错的ios游戏开发学习的例子,喜欢的朋友可以下载学习看看,。
2022-03-13 23:39:25 2.63MB IOS源码
1
第一章 USB概述及协议基础 1 1.1 USB是什么 1 1.2 USB的特点 1 1.3 USB的拓扑结构 2 1.4 USB的电气特性 5 1.5 USB的线缆以及插头、插座 5 1.6 USB的插入检测机制 7 1.7 USB的描述符及其之间的关系 9 1.8 USB设备的枚举过程 10 1.9 USB的包结构及传输过程 11 1.9.1 USB包的结构及包的分类 11 1.9.2 令牌包 13 1.9.3 数据包 14 1.9.4 握手包 14 1.9.5 特殊包 15 1.9.6 如何处理数据包 15 1.10 USB的四种传输类型 16 1.10.1 USB事务 16 1.10.2 批量传输 16 1.10.3 中断传输 18 1.10.4 等时传输(同步传输) 19 1.10.5 控制传输 20 1.10.6 端点类型与传输类型的关系 21 1.10.7 传输类型与端点支持的最大包长 21 1.11 本章小结 21 第二章 硬件系统设计 1 2.1 方案以及芯片的选定 1 2.2 D12引脚功能说明 2 2.3 D12与89S52的连接 4 2.4 串口部分电路 6 2.5 按键部分 7 2.6 指示灯部分 7 2.7 IDE接口部分 8 2.8 单片机部分 8 2.9 元件安装 8 2.10 电路调试 11 2.11 测试程序的编写和调试 12 2.11.1 建立一个工程 12 2.11.2 为工程添加源文件 14 2.11.3 KEIL工具栏及仿真介绍 15 2.11.4 按键驱动的编写 18 2.11.5 串口驱动的编写 24 2.11.6 PDIUSBD12读写函数及读ID的实现 28 2.12 本章小结 33 第三章 USB鼠标的实现 1 3.1 USB鼠标工程的建立 1 3.2 USB的断开与连接 1 3.3 USB中断的处理 4 3.4 读取从主机发送到端点0的数据 6 3.5 USB标准请求 12 3.5.1 USB标准设备请求的结构 13 3.5.2 GET_DESCRIPTOR请求 15 3.5.3 SET_ADDRESS请求 16 3.5.6 SET_CONFIGURATION请求 16 3.6 设备描述符的实现 17 3.7 设备描述符的返回 20 3.8 设置地址请求的处理 30 3.9 配置描述符集合的结构 32 3.9.1 配置描述符的结构 32 3.9.2 接口描述符的结构 33 3.9.3 端点描述符的结构 33 3.9.4 HID描述符的结构 34 3.10 配置描述符集合的实现以及返回 35 3.11 字符串及语言ID请求的实现 39 3.12 设置配置请求的实现 45 3.13 报告描述符的结构及实现 48 3.14 报告的返回 54 3.15 Bus Hound工具的简介 57 3.16 本章小结 59 第四章 USB键盘的实现 1 4.1 USB键盘工程的建立 1 4.2 设备描述符的实现 1 4.4 配置描述符集合的实现 2 4.4.1 配置描述符 3 4.4.2 接口描述符 3 4.4.3 HID描述符 3 4.4.4 端点描述 3 4.5 字符串描述符 6 4.6 报告描述符 6 4.7 输入和输出报告的实现 10 4.8 USB键盘实例的测试 13 4.9 再谈USB HID的报告描述符 14 4.10 带鼠标功能的USB键盘(方法一) 16 4.11 带鼠标功能的键盘(方法二) 22 4.12 多媒体USB键盘 29 4.13 本章小结 34 第五章 用户自定义的USB HID设备 1 5.1 MyUsbHid工程的建立 1 5.2 描述符的修改 1 5.3 报告的实现 3 5.4 对用户自定义的USB HID设备的访问 5 5.5 访问HID设备时所用到的相关函数 5 5.5.1 获取HID设备的接口类GUID的函数 5 5.5.2 获取指定类的所有设备信息集合的函数 6 5.5.3 从设备信息集合中获取一个设备接口信息的函数 6 5.5.4 获取指定设备接口详细信息的函数 7 5.5.5 打开设备的函数 8 5.5.6 获取HID设备属性的函数 8 5.5.7 从设备读取数据的函数 9 5.5.8 往设备写数据的函数 9 5.5.9 通过控制端点0读取报告的函数 10 5.5.10 通过控制端点0发送报告的函数 10 5.5.11 关闭设备的函数 10 5.5.12 需要包含的库文件 11 5.6 访问USB HID设备的上位机软件的实现 11 5.6.1 上位机程序编写的思路 11 5.6.2 查找及打开HID设备的代码 12 5.6.3 读输入报告线程的代码 17 5.6.4 写输出报告的代码(发送LED的状态) 20 5.6.5 写输出报告线程的代码 22 5.6.6 线程的创建以及设备插拔事件的注册 22 5.6.7 对设备状态改变事件的处理 24 5.7 软件界面以及使用方法 25 5.8 本章小结 26 第六章 USB转串口 1 6.1 串口家族历史 1 6.2 串口接头的引脚分布及功能 1 6.3 USB转串口的实现方法 2 6.4 设备描述符 2 6.5 字符串描述符 4 6.6 配置描述符集合 4 6.6.1 配置描述符 4 6.6.2 CDC接口描述符 4 6.6.3 类特殊接口描述符——功能描述符 5 6.6.4 接口0(CDC接口)的端点描述符 8 6.6.5 数据类接口的接口描述符 8 6.6.6 接口1(数据类接口)的端点描述符 9 6.6.7 修改好描述符后的测试 10 6.7 类请求的实现 12 6.7.1 GET_LINE_CODING请求 12 6.7.2 SERIAL_STATE通知 13 6.7.3 SET_CONTROL_LINE_STATE请求 13 6.7.4 SET_LINE_CODING请求 13 6.7.5 实现类请求后的测试 15 6.8 对串口数据的处理 16 6.9 安装驱动用的inf文件 21 6.10 本章小结 25 第七章 USB MIDI键盘 1 7.1 MIDI简介 1 7.2 MIDI的工作原理 2 7.3 USB MIDI设备的数据流模型 2 7.4 设备描述符 2 7.5 配置描述符集合 3 7.5.1 配置描述符 3 7.5.2 音频控制接口(AudioControl,AC)描述符 3 7.5.3 类特殊音频控制接口描述符 4 7.5.4 MIDI流接口描述符 4 7.5.5 类特殊MIDI流接口描述符 5 7.5.6 端点描述符和类特殊端点描述符 10 7.5.7 字符串描述符 12 7.6 修改好描述符后的测试 12 7.7 USB MIDI键盘的数据返回 13 7.8 USB MIDI键盘的使用 15 7.9 单片机自动弹奏的实现 17 7.10 本章小节 17 第八章 U盘 1 8.1 USB大容量存储设备 1 8.2 设备描述符 1 8.3 字符串描述符 1 8.4 配置描述符集合 1 8.4.1 配置描述符 2 8.4.2 接口描述符 2 8.4.3 端点描述符 3 8.5 测试 3 8.6 类特殊请求 3 8.6.1 Get Max LUN请求 3 8.6.2 Bulk-Only Mass Storage Reset请求 4 8.7 仅批量传输协议的数据流模型 5 8.7.1 命令块封包(CBW)的结构 5 8.7.2 命令状态封包(CSW)的结构 6 8.7.3 对批量数据的处理 6 8.8 SCSI命令集和UFI命令集 7 8.8.1 INQUIRY(查询)命令 7 8.8.2 READ FORMAT CAPACITIES(读格式化容量)命令 8 8.8.3 READ CAPACITY(读容量)命令 9 8.8.4 READ(10)命令 10 8.8.5 WRITE(10)命令 11 8.8.6 REQUEST SENSE命令 12 8.8.7 TEST UNIT READY命令 12 8.9 FAT文件系统 13 8.9.1 关于DBR 13 8.9.2 关于FAT表 14 8.9.3 关于目录项 15 8.10 模拟一个FAT16文件系统 16 8.11 实验结果 17 8.12 IDE转USB的实现 19 8.13 本章小结 20 第九章 自定义USB设备及驱动开发 1 9.1 用户自定义USB设备 1 9.1.1 设备描述符 1 9.1.2 配置描述符集合 1 9.1.3 字符串描述符 1 9.1.4 数据的处理 1 9.2 驱动程序开发简介 2 9.3 WDM驱动开发编程环境的建立 2 9.4 创建一个USB WDM驱动程序 4 9.5 对工程的编译 12 9.6 关于inf文件 14 9.7 驱动程序的修改 14 9.7.1 Read(KIrp I)函数 15 9.7.2 Write(KIrp I)函数 18 9.7.3 EP1_READ_Handler(KIrp I)函数 19 9.7.4 EP1_WRITE_Handler(KIrp I)函数 21 9.7.5 EP2_READ_Handler(KIrp I)函数 21 9.7.6 EP2_WRITE_Handler(KIrp I)函数 21 9.8 驱动的安装及安装后的信息 21 9.9 应用程序对驱动的访问 25 9.10 测试软件的使用 26 9.11 本章小结 28 第十章 USB过滤驱动开发 1 10.1 过滤驱动简介 1 10.2 使用DS创建一个低层过滤驱动 1 10.3 过滤驱动代码的修改 6 10.4 过滤驱动的安装 11 10.5 过滤驱动的卸载 12 10.6 驱动程序测试 14 10.7 本章小结 17
2022-03-12 23:22:07 1.51MB 圈圈教你玩USB 全书 目录
1
第一章 USB概述及协议基础 1 1.1 USB是什么 1 1.2 USB的特点 1 1.3 USB的拓扑结构 2 1.4 USB的电气特性 5 1.5 USB的线缆以及插头、插座 5 1.6 USB的插入检测机制 7 1.7 USB的描述符及其之间的关系 9 1.8 USB设备的枚举过程 10 1.9 USB的包结构及传输过程 11 1.9.1 USB包的结构及包的分类 11 1.9.2 令牌包 13 1.9.3 数据包 14 1.9.4 握手包 14 1.9.5 特殊包 15 1.9.6 如何处理数据包 15 1.10 USB的四种传输类型 16 1.10.1 USB事务 16 1.10.2 批量传输 16 1.10.3 中断传输 18 1.10.4 等时传输(同步传输) 19 1.10.5 控制传输 20 1.10.6 端点类型与传输类型的关系 21 1.10.7 传输类型与端点支持的最大包长 21 1.11 本章小结 21 第二章 硬件系统设计 1 2.1 方案以及芯片的选定 1 2.2 D12引脚功能说明 2 2.3 D12与89S52的连接 4 2.4 串口部分电路 6 2.5 按键部分 7 2.6 指示灯部分 7 2.7 IDE接口部分 8 2.8 单片机部分 8 2.9 元件安装 8 2.10 电路调试 11 2.11 测试程序的编写和调试 12 2.11.1 建立一个工程 12 2.11.2 为工程添加源文件 14 2.11.3 KEIL工具栏及仿真介绍 15 2.11.4 按键驱动的编写 18 2.11.5 串口驱动的编写 24 2.11.6 PDIUSBD12读写函数及读ID的实现 28 2.12 本章小结 33 第三章 USB鼠标的实现 1 3.1 USB鼠标工程的建立 1 3.2 USB的断开与连接 1 3.3 USB中断的处理 4 3.4 读取从主机发送到端点0的数据 6 3.5 USB标准请求 12 3.5.1 USB标准设备请求的结构 13 3.5.2 GET_DESCRIPTOR请求 15 3.5.3 SET_ADDRESS请求 16 3.5.6 SET_CONFIGURATION请求 16 3.6 设备描述符的实现 17 3.7 设备描述符的返回 20 3.8 设置地址请求的处理 30 3.9 配置描述符集合的结构 32 3.9.1 配置描述符的结构 32 3.9.2 接口描述符的结构 33 3.9.3 端点描述符的结构 33 3.9.4 HID描述符的结构 34 3.10 配置描述符集合的实现以及返回 35 3.11 字符串及语言ID请求的实现 39 3.12 设置配置请求的实现 45 3.13 报告描述符的结构及实现 48 3.14 报告的返回 54 3.15 Bus Hound工具的简介 57 3.16 本章小结 59 第四章 USB键盘的实现 1 4.1 USB键盘工程的建立 1 4.2 设备描述符的实现 1 4.4 配置描述符集合的实现 2 4.4.1 配置描述符 3 4.4.2 接口描述符 3 4.4.3 HID描述符 3 4.4.4 端点描述 3 4.5 字符串描述符 6 4.6 报告描述符 6 4.7 输入和输出报告的实现 10 4.8 USB键盘实例的测试 13 4.9 再谈USB HID的报告描述符 14 4.10 带鼠标功能的USB键盘(方法一) 16 4.11 带鼠标功能的键盘(方法二) 22 4.12 多媒体USB键盘 29 4.13 本章小结 34 第五章 用户自定义的USB HID设备 1 5.1 MyUsbHid工程的建立 1 5.2 描述符的修改 1 5.3 报告的实现 3 5.4 对用户自定义的USB HID设备的访问 5 5.5 访问HID设备时所用到的相关函数 5 5.5.1 获取HID设备的接口类GUID的函数 5 5.5.2 获取指定类的所有设备信息集合的函数 6 5.5.3 从设备信息集合中获取一个设备接口信息的函数 6 5.5.4 获取指定设备接口详细信息的函数 7 5.5.5 打开设备的函数 8 5.5.6 获取HID设备属性的函数 8 5.5.7 从设备读取数据的函数 9 5.5.8 往设备写数据的函数 9 5.5.9 通过控制端点0读取报告的函数 10 5.5.10 通过控制端点0发送报告的函数 10 5.5.11 关闭设备的函数 10 5.5.12 需要包含的库文件 11 5.6 访问USB HID设备的上位机软件的实现 11 5.6.1 上位机程序编写的思路 11 5.6.2 查找及打开HID设备的代码 12 5.6.3 读输入报告线程的代码 17 5.6.4 写输出报告的代码(发送LED的状态) 20 5.6.5 写输出报告线程的代码 22 5.6.6 线程的创建以及设备插拔事件的注册 22 5.6.7 对设备状态改变事件的处理 24 5.7 软件界面以及使用方法 25 5.8 本章小结 26 第六章 USB转串口 1 6.1 串口家族历史 1 6.2 串口接头的引脚分布及功能 1 6.3 USB转串口的实现方法 2 6.4 设备描述符 2 6.5 字符串描述符 4 6.6 配置描述符集合 4 6.6.1 配置描述符 4 6.6.2 CDC接口描述符 4 6.6.3 类特殊接口描述符——功能描述符 5 6.6.4 接口0(CDC接口)的端点描述符 8 6.6.5 数据类接口的接口描述符 8 6.6.6 接口1(数据类接口)的端点描述符 9 6.6.7 修改好描述符后的测试 10 6.7 类请求的实现 12 6.7.1 GET_LINE_CODING请求 12 6.7.2 SERIAL_STATE通知 13 6.7.3 SET_CONTROL_LINE_STATE请求 13 6.7.4 SET_LINE_CODING请求 13 6.7.5 实现类请求后的测试 15 6.8 对串口数据的处理 16 6.9 安装驱动用的inf文件 21 6.10 本章小结 25 第七章 USB MIDI键盘 1 7.1 MIDI简介 1 7.2 MIDI的工作原理 2 7.3 USB MIDI设备的数据流模型 2 7.4 设备描述符 2 7.5 配置描述符集合 3 7.5.1 配置描述符 3 7.5.2 音频控制接口(AudioControl,AC)描述符 3 7.5.3 类特殊音频控制接口描述符 4 7.5.4 MIDI流接口描述符 4 7.5.5 类特殊MIDI流接口描述符 5 7.5.6 端点描述符和类特殊端点描述符 10 7.5.7 字符串描述符 12 7.6 修改好描述符后的测试 12 7.7 USB MIDI键盘的数据返回 13 7.8 USB MIDI键盘的使用 15 7.9 单片机自动弹奏的实现 17 7.10 本章小节 17 第八章 U盘 1 8.1 USB大容量存储设备 1 8.2 设备描述符 1 8.3 字符串描述符 1 8.4 配置描述符集合 1 8.4.1 配置描述符 2 8.4.2 接口描述符 2 8.4.3 端点描述符 3 8.5 测试 3 8.6 类特殊请求 3 8.6.1 Get Max LUN请求 3 8.6.2 Bulk-Only Mass Storage Reset请求 4 8.7 仅批量传输协议的数据流模型 5 8.7.1 命令块封包(CBW)的结构 5 8.7.2 命令状态封包(CSW)的结构 6 8.7.3 对批量数据的处理 6 8.8 SCSI命令集和UFI命令集 7 8.8.1 INQUIRY(查询)命令 7 8.8.2 READ FORMAT CAPACITIES(读格式化容量)命令 8 8.8.3 READ CAPACITY(读容量)命令 9 8.8.4 READ(10)命令 10 8.8.5 WRITE(10)命令 11 8.8.6 REQUEST SENSE命令 12 8.8.7 TEST UNIT READY命令 12 8.9 FAT文件系统 13 8.9.1 关于DBR 13 8.9.2 关于FAT表 14 8.9.3 关于目录项 15 8.10 模拟一个FAT16文件系统 16 8.11 实验结果 17 8.12 IDE转USB的实现 19 8.13 本章小结 20 第九章 自定义USB设备及驱动开发 1 9.1 用户自定义USB设备 1 9.1.1 设备描述符 1 9.1.2 配置描述符集合 1 9.1.3 字符串描述符 1 9.1.4 数据的处理 1 9.2 驱动程序开发简介 2 9.3 WDM驱动开发编程环境的建立 2 9.4 创建一个USB WDM驱动程序 4 9.5 对工程的编译 12 9.6 关于inf文件 14 9.7 驱动程序的修改 14 9.7.1 Read(KIrp I)函数 15 9.7.2 Write(KIrp I)函数 18 9.7.3 EP1_READ_Handler(KIrp I)函数 19 9.7.4 EP1_WRITE_Handler(KIrp I)函数 21 9.7.5 EP2_READ_Handler(KIrp I)函数 21 9.7.6 EP2_WRITE_Handler(KIrp I)函数 21 9.8 驱动的安装及安装后的信息 21 9.9 应用程序对驱动的访问 25 9.10 测试软件的使用 26 9.11 本章小结 28 第十章 USB过滤驱动开发 1 10.1 过滤驱动简介 1 10.2 使用DS创建一个低层过滤驱动 1 10.3 过滤驱动代码的修改 6 10.4 过滤驱动的安装 11 10.5 过滤驱动的卸载 12 10.6 驱动程序测试 14 10.7 本章小结 17
2022-03-12 22:48:56 39.54MB USB
1
《Linux+树莓派转智能家居(第2版)》的主旨在于利用Raspberry Pi完成“家居智能化”的目标。《Linux+树莓派转智能家居(第2版)》开头几章关注对电器的控制,告诉读者如何智能地控制电水壶、闭路电视、照明开关等家用设备。接着会改造家庭媒体系统,例如制定自己的个性化节目表。最终综合上述技术,教会读者如何利用每天运行的计算机来建立家庭网络,随时自动化或远程化控制家庭生活的各个环节,从而完成对房屋的“智能化”改造。
2022-03-11 14:24:20 3.25MB 树莓派
1
Redis的SortedSet是可以根据score进行排序的,以手机应用商店的热门榜单排序为例,根据下载量倒序排列。接下来通过本文给大家分享Redis高级法之利用SortedSet实现多维度排序的方法,一起看看吧
1