首页/新闻资讯/正文详情

USB 设备开发实战:枚举、描述符与类驱动

发布时间:2026/11/3 19:13:14 来源:云帆数科 栏目:资讯中心
USB 设备开发实战:枚举、描述符与类驱动
第一章 先别急着写驱动:把 USB 的骨架看清楚1.1 主机轮询制:一切从"被动"开始USB 总线上只有一个主机。所有通信由主机发起,设备不能主动发起传输。这条规则执行到什么程度呢?连"我有数据要上报"这件事,都得等主机来问。批量传输(Bulk):主机发 IN token,你有数据就回,没数据就回 NAK。NAK 是合法的、高频的、正常的,不要以为 NAK 是错误。中断传输(Interrupt):主机按bInterval周期来问你。你依然只能在他问的时候说话。同步传输(Isochronous):主机按周期来,但这个类型不重传、不握手,错了就错了。控制传输(Control):唯一双向、有结构、有状态机的传输,专门用于枚举和类请求。所以 USB 设备固件本质上是一个事件循环:硬件收到 token 或者发完包,产生中断,你在中断里根据当前端点状态决定下一步塞什么进 FIFO。你的代码结构通常是"中断服务程序 + 状态机 + 缓冲队列",而不是"主循环里printf"。我见过太多把 USB 写成轮询的人,最后都卡在同一个地方:主机问了,你没来得及答,超时;或者你答了,但答的时机晚了半拍,SOF一过,主机认为你没响应。USB 对时间是敏感的,微秒级。1.2 电气

相关推荐

XHS-Downloader 使用教程:3 分钟跑通小红书无水印下载
XHS-Downloader 使用教程:3 分钟跑通小红书无水印下载

XHS-Downloader 使用教程:3 分钟跑通小红书无水印下载 【免费下载链接】XHS-Downloader 小红书(XiaoHongShu、RedNote)链接提取/作品采集工具 项目地址: https://gitcode.com/gh_mirrors/xh/XHS-Downloader XHS-Downloader 是一款免费… · 2026/11/3 19:12:14

OpenWhispr 语音听写上手指南:安装、本地离线转写与会议转录设置
OpenWhispr 语音听写上手指南:安装、本地离线转写与会议转录设置

OpenWhispr 语音听写上手指南:安装、本地离线转写与会议转录设置 【免费下载链接】openwhispr Voice-to-text dictation app with local (Nvidia Parakeet/Whisper) and cloud models (BYOK). Privacy-first and available cross-platform. 项目地址: https://git… · 2026/11/3 19:12:14

nof1.ai 的 .env 配置完全注释:开仓前必须读懂的20个核心交易参数
nof1.ai 的 .env 配置完全注释:开仓前必须读懂的20个核心交易参数

人工智能大模型AI AgentAI 应用金融科技后端 【免费下载链接】nof1.ai ⚡ Open nof1.ai | Autonomous AI Trading Agent (自主AI交易系统) 项目地址: https://gitcode.com/gh_mirrors/no/nof1.ai 点击查看 免费下载 nof1.ai 是一个自主 AI 加密货币交易系统&#… · 2026/11/3 19:12:14

TPOT指标:大语言模型推理性能优化的关键
TPOT指标:大语言模型推理性能优化的关键

1. 为什么TPOT比平均延迟更重要?在评估大语言模型(LLM)推理性能时,大多数开发者第一反应就是看"平均延迟"这个指标。但真实生产环境中,我见过太多团队被这个看似直观的数字坑惨了——明明测试时平均响应时间… · 2026/11/4 7:37:36

无人水面艇实时NMPC控制技术解析与实践
无人水面艇实时NMPC控制技术解析与实践

1. 无人水面艇控制技术现状与挑战无人水面艇(USV)作为水上自主系统的核心载体,其控制技术直接决定了任务执行的可靠性和精确度。传统PID控制虽然实现简单,但在应对复杂海况、强非线性动力学特性时往往表现不佳。我在参与某型巡逻艇… · 2026/11/4 7:37:36

单体架构与微服务架构的核心差异与选型指南
单体架构与微服务架构的核心差异与选型指南

1. 现代Web应用架构概览在当今互联网产品开发领域,Web应用架构的选择直接影响着团队协作效率、系统可维护性和业务扩展能力。作为从业十余年的全栈开发者,我见证过单体架构统治时代的辉煌,也参与了微服务架构的落地实践。这两种主流架构模式各… · 2026/11/4 7:37:36

GRP-U8行政事业版账套核心表解析与SQL对账实战
GRP-U8行政事业版账套核心表解析与SQL对账实战

简介:面向用友GRP-U8管理软件行政事业版的数据库速查文档,供财务系统实施、运维与数据调整人员使用。行政事业版后台表与函数数量庞杂,实际动手改数据时却往往无从下手。这份文档的价值在于精简梳理:逐一筛选后指出真正需要关注的… · 2026/11/4 7:37:36

Q平台调试工具环境搭建:QPM、QFIL与Chromatix配置指南
Q平台调试工具环境搭建:QPM、QFIL与Chromatix配置指南

简介:一份面向高通平台开发、调试与相机调优人员的操作手册,聚焦QPM、QFIL、Chromatix等工具链的入门认知与常见问题排查,适合需要快速建立工具使用框架的初中级开发者。压缩包内为1个doc文档,约2.45MB,以文字说明和流… · 2026/11/4 7:37:36

C++20标准查阅指南:UB、ODR、模块与协程的工程用法
C++20标准查阅指南:UB、ODR、模块与协程的工程用法

简介:《ISO/IEC 14882:2020(E) Programming languages — C》是C第六版国际标准文档,面向C开发者、编译器与工具链实现者、高校教师及需要核对语言规则的进阶学习者,为语法语义、实现合规性与跨平台可移植性提供权威依据。资源包仅含1个PDF文… · 2026/11/4 7:36:36

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

AI辅助技术栈评估:提升研发决策效率60%
AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年… · 2026/11/4 0:00:17

从生成Token到直接决策:Jev如何重塑AI Agent工程实践
从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你… · 2026/11/4 0:00:17

32G统一内存跑大模型:内存账、TPS实测与端云分流
32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统… · 2026/11/4 0:00:17

双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试
双极步进电机控制实战:DRV8818PWPR与PIC18F86K22驱动调试

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 3:16:49

STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析
STM32F207ZG + DRV8818PWPR 步进电机驱动实战解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 6:59:29

DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案
DRV8818PWPR+dsPIC30F4013工业级双极步进电机控制方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/11/4 7:02:38

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码