USB 教程合集 · 总目录
USB 入门教程大纲v1第一阶段建立直觉第1讲插上USB电脑怎么知道你插了什么USB长什么样接口类型、引脚定义不展开电气细节插进去之后发生了什么枚举的故事版叙述为什么电脑不需要装驱动就能认出U盘标准类 vs 自定义类本讲目标建立USB是Host主导的问答式通信这个核心直觉第2讲USB不是串口——通信机制的本质区别主从架构Host说了算Device只能被问了才回答差分信号D/D-是什么、为什么要差分NRZI编码与位填充不深入数学讲为什么需要令牌包/数据包/握手包USB通信的三句话对比UART为什么USB不能像串口那样想发就发第二阶段协议骨架第3讲描述符——USB设备的身份证体系为什么需要这么多层设备→配置→接口→端点每一层描述符管什么事VID/PID是什么、谁分配的、有什么用用实际抓包截图看一个真实设备的描述符本讲目标拿到一段描述符数据能逐字节解释含义第4讲端点、管道与四种传输类型端点就是邮箱有编号、有方向、有容量四种传输类型各自解决什么问题控制传输 → 枚举和管理中断传输 → 键盘鼠标确定性延迟批量传输 → U盘可靠、尽力而为等时传输 → 摄像头/音频实时、允许丢数据怎么选给应用场景选对传输类型第三阶段类与标准第5讲USB类Class是什么为什么要关心标准类 vs 厂商自定义类常见标准类简介HID / CDC / MSC / Audio / Video用标准类的好处操作系统自带驱动什么时候必须自定义类本讲是地图告诉学生后面可以往哪走第四阶段动手实战第6讲CDC虚拟串口——第一个完整实验CDC类是什么、和真正串口的区别配置流程通用步骤不绑定具体芯片发送和接收数据的代码逻辑验证用串口助手收发数据常见问题排查思路第7讲HID设备——做一个键盘或鼠标HID为什么即插即用操作系统内置驱动Report Descriptor报告描述符怎么写键盘的Report格式哪个字节对应哪个键鼠标相对移动 vs 绝对定位实验按键触发电脑输入字符第8讲复合设备——一个设备身兼数职一个设备可以有多个接口复合设备 vs 组合设备Composite vs Combined实例键盘 鼠标 CDC 三合一描述符层级怎么组织第五阶段调试与进阶第9讲USB抓包与调试抓包工具介绍与基本用法看一次完整的枚举过程从抓包视角常见失败场景描述符错误、端点配置错误、STALL/NAK怎么从抓包数据定位问题第10讲自定义USB设备——从零打通Host到DeviceVendor Specific类的描述符怎么写Device端发送/接收数据的完整流程Host端用什么工具/库来通信libusb / PyUSB一个简单的Host端程序示例本讲是毕业项目证明你真正理解了USB附录后续填充开发板选型与硬件连接指南开发环境搭建CubeMX IDE术语表常见问题 FAQ设计决策记录决策原因不单独讲USB历史初学者不关心1996年出了什么不展开电气层阻抗匹配留给硬件工程师不深入协议栈源码那是进阶课的事不堆术语定义用邮箱讲端点用三句话讲包结构先实战后理论制作顺序先看到能做到什么才有动力理解为什么发布顺序保持1→10符合认知递进版本记录版本日期变更v12026-10-21初始大纲10讲结构确定