USB --SETUP --STATUS阶段

每个 USB 控制传输包含三个阶段:

阶段 说明
1. SETUP 发送请求(如 SET_ADDRESS、SET_CONFIGURATION)
2. DATA 可选,发送或接收数据
3. STATUS 确认完成,通常是一个空包
  1. 主机 → 设备: SETUP (SET_ADDRESS, wValue=0x13) → 告诉设备:"你的新地址是 0x13"

  2. 主机 → 设备: OUT Token (Addr=0x13, Endp=0x00) → 这是 STATUS 阶段的开始

  3. 设备 → 主机: DATA1 (空数据,CRC=0x0000) → 表示"我已收到并处理了请求"

  4. 主机 → 设备: ACK (隐含,不显示) → 确认收到 STATUS 包

类型 是否有 DATA 阶段 STATUS 阶段
GET_DESCRIPTOR ✅ 有 DATA(读取) ✅ 有 STATUS(IN)
SET_ADDRESS ❌ 无 DATA ✅ 有 STATUS(OUT + DATA1)
SET_CONFIGURATION ❌ 无 DATA ✅ 有 STATUS(OUT + DATA1)
SET_INTERFACE ❌ 无 DATA ✅ 有 STATUS(OUT + DATA1)
相关推荐
无锡耐特森14 分钟前
Profinet转ModbusTCP协议网关:数字化工厂跨协议互联
网络
MartinYeung532 分钟前
[论文学习]ProAct:针对LLM越狱的主动防禦框架
网络·学习·安全
谷哥的小弟1 小时前
腾讯云服务器安装Redis Stack图文教程
服务器·redis·腾讯云·redis stack
发量惊人的中年网工1 小时前
中小企业网络管理进阶:从设备堆叠到统一管理
服务器·网络·安全·网络安全·php·制造
workflower2 小时前
案例 :某交通厅基于AI技术的智能安全运营实践
网络·人工智能·安全·设计模式·机器人
Huangjin007_2 小时前
【Linux 系统篇(十五)】进程 (三) :进程状态深度详解
linux·运维
RisunJan2 小时前
Linux命令-talk(终端实时对话)
linux·运维·服务器
SendTomo2 小时前
WebRTC文件互传工具实测对比
javascript·网络·webrtc·html5·p2p
NeilYuen2 小时前
【vemory】高性能KV存储AOF方案设计
linux·c++·redis·缓存
测开小菜鸟3 小时前
智能体安全与伦理测试:守护AI的“底线”,让智能体安全、负责任地工作
网络·人工智能·安全