当前位置: 首页 > news >正文

专门做珠宝的网站站长工具关键词查询

专门做珠宝的网站,站长工具关键词查询,thinkphp做的上线网站,中英文网站价格文章目录HID 类特殊请求仓库地址设备请求HID 类特殊请求set_idle报告描述符附 STM32 枚举日志HID 类特殊请求 与 HID鼠标不同的是,键盘的报告描述符和鼠标是不同的 仓库地址 仓库地址 设备请求 typedef struct __attribute__ ((packed)){union {struct __attri…

文章目录

  • HID 类特殊请求
    • 仓库地址
    • 设备请求
    • HID 类特殊请求
      • set_idle
      • 报告描述符
    • 附 STM32 枚举日志

HID 类特殊请求

与 HID鼠标不同的是,键盘的报告描述符和鼠标是不同的

仓库地址

仓库地址

设备请求

typedef struct __attribute__ ((packed)){union {struct __attribute__ ((packed)) {uint8_t recipient :  5; ///< Recipient type usb_request_recipient_t.uint8_t type      :  2; ///< Request type usb_request_type_t.uint8_t direction :  1; ///< Direction type. usb_dir_t} bmRequestType_bit;uint8_t bmRequestType;};uint8_t  bRequest;uint16_t wValue;uint16_t wIndex;uint16_t wLength;
} usb_control_request_t;

HID 类特殊请求

set_idle

在请求 HID 报告描述符之前,主机会有一些类特殊请求,例如 set_idle,具体类请求查阅 HID1.1 协议文档

USB 控制端点收到的数据:

0x21 0xa 0x0 0x0 0x0 0x0 0x0 0x0
  • bmRequestType:0x21
    • 数据传输方向为 0,host-to-device
    • 类请求
    • 请求的接收者为接口
  • bRequest:0x0a
    • SET_IDLE,这个请求告诉设备,没有新的事件发生,不要从中断端点返回数据
  • wValue:0x0000(LSB)
    • 低位:0x00
    • 高位:0x00
  • wIndex:0x0000(LSB)
    • 低位:0x00
    • 高位:0x00
  • wLength:0x00
    • 低位:0x00
    • 高位:0x00

请求返回:设备返回一个 0 长度的数据状态包即可

报告描述符

USB 端点收到的数据:

0x81 0x6 0x0 0x22 0x0 0x0 0x81 0x0 
  • bmRequestType:0x81
    • 数据传输方向为 1,device-to-host
    • 标准请求
    • 请求的接收者为接口
  • bRequest:0x06
    • GET_DESCRIPTOR 获取描述符请求
  • wValue:0x0022(LSB)
    • 低位:0x22 获取报告描述符
    • 高位:0x00
  • wIndex:0x0000(LSB)
    • 低位:0x00
    • 高位:0x00
  • wLength:0x0081
    • 低位:0x81 请求的长度
    • 高位:0x00

报告描述符的返回

  • 主机请求的长度为 0x81,这里实际的报告描述符长度为 0x41
  • 由于当前控制端点 0 的最大包长为 0x40,所以返回 0x41 的数据时候,需要拆包。
0x5 0x1 0x9 0x6 0xa1 0x1 0x5 0x7 0x19 0xe0 0x29 0xe7 0x15 0x0 0x25 0x1 0x95 0x8 0x75 0x1 0x81 0x2 0x95 0x1 0x75 0x8 0x81 0x1 0x5 0x8 0x19 0x1 0x29 0x5 0x95 0x5 0x75 0x1 0x91 0x2 0x95 0x1 0x75 0x3 0x91 0x1 0x5 0x7 0x19 0x0 0x2a 0xff 0x0 0x15 0x0 0x26 0xff 0x0 0x95 0x6 0x75 0x8 0x81 0x0 
0xc0

键盘报告描述符的返回,参考 HID1.1 协议文档

至此,HID 键盘的所有描述符全部返回

附 STM32 枚举日志

HID 键盘枚举日志

suspend int
bus reset int
enum done int
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x1 0x0 0x0 0x40 0x0 
dcd xfer 12
input ep int 
d->h :0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x40 0xfe 0xca 0x8 0x40 0x0 0x1 0x1 0x2 0x3 0x1 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
bus reset int
output ep int 
send xfer complete event
enum done int
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x0 0x5 0x4 0x0 0x0 0x0 0x0 0x0 
dcd xfer 0
input ep int 
edpt int send xfer complete event
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x1 0x0 0x0 0x12 0x0 
dcd xfer 12
input ep int 
d->h :0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x40 0xfe 0xca 0x8 0x40 0x0 0x1 0x1 0x2 0x3 0x1 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
output ep int 
send xfer complete event
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x2 0x0 0x0 0xff 0x0 
dcd xfer 22
input ep int 
d->h :0x9 0x2 0x22 0x0 0x1 0x1 0x0 0xa0 0x32 0x9 0x4 0x0 0x0 0x1 0x3 0x1 0x1 0x0 0x9 0x21 0x11 0x1 0x0 0x1 0x22 0x41 0x0 0x7 0x5 0x81 0x3 0x8 0x0 0xa 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x3 0x3 0x9 0x4 0xff 0x0 
send xfer complete event
dcd xfer e
input ep int 
d->h :0xe 0x3 0x31 0x0 0x32 0x0 0x33 0x0 0x34 0x0 0x35 0x0 0x36 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x3 0x0 0x0 0xff 0x0 
send xfer complete event
dcd xfer 4
input ep int 
d->h :0x4 0x3 0x9 0x4 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x2 0x3 0x9 0x4 0xff 0x0 
send xfer complete event
dcd xfer 1e
input ep int 
d->h :0x1e 0x3 0x74 0x0 0x79 0x0 0x75 0x0 0x73 0x0 0x74 0x0 0x6c 0x0 0x69 0x0 0x20 0x0 0x44 0x0 0x65 0x0 0x76 0x0 0x69 0x0 0x63 0x0 0x65 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x6 0x0 0x0 0xa 0x0 
send xfer complete event
get device qualifier
stall ep0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x1 0x0 0x0 0x12 0x0 
dcd xfer 12
input ep int 
d->h :0x12 0x1 0x0 0x2 0x0 0x0 0x0 0x40 0xfe 0xca 0x8 0x40 0x0 0x1 0x1 0x2 0x3 0x1 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x2 0x0 0x0 0x9 0x0 
send xfer complete event
dcd xfer 9
input ep int 
d->h :0x9 0x2 0x22 0x0 0x1 0x1 0x0 0xa0 0x32 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x2 0x0 0x0 0x22 0x0 
send xfer complete event
dcd xfer 22
input ep int 
d->h :0x9 0x2 0x22 0x0 0x1 0x1 0x0 0xa0 0x32 0x9 0x4 0x0 0x0 0x1 0x3 0x1 0x1 0x0 0x9 0x21 0x11 0x1 0x0 0x1 0x22 0x41 0x0 0x7 0x5 0x81 0x3 0x8 0x0 0xa 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x0 0x9 0x1 0x0 0x0 0x0 0x0 0x0 
send xfer complete event
edpt open
dcd xfer 0
input ep int 
edpt int send xfer complete event
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x21 0xa 0x0 0x0 0x0 0x0 0x0 0x0 
dcd xfer 0
input ep int 
edpt int send xfer complete event
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x81 0x6 0x0 0x22 0x0 0x0 0x81 0x0 
dcd xfer 40
input ep int 
d->h :0x5 0x1 0x9 0x6 0xa1 0x1 0x5 0x7 0x19 0xe0 0x29 0xe7 0x15 0x0 0x25 0x1 0x95 0x8 0x75 0x1 0x81 0x2 0x95 0x1 0x75 0x8 0x81 0x1 0x5 0x8 0x19 0x1 0x29 0x5 0x95 0x5 0x75 0x1 0x91 0x2 0x95 0x1 0x75 0x3 0x91 0x1 0x5 0x7 0x19 0x0 0x2a 0xff 0x0 0x15 0x0 0x26 0xff 0x0 0x95 0x6 0x75 0x8 0x81 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 1
input ep int 
d->h :0xc0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
output ep int 
send xfer complete event
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x21 0x9 0x0 0x2 0x0 0x0 0x1 0x0 
dcd xfer 1
rxflvl int
output ep int 
send xfer complete event
dcd xfer 0
input ep int 
edpt int send xfer complete event
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x0 0x3 0x0 0x0 0xff 0x0 
dcd xfer 4
input ep int 
d->h :0x4 0x3 0x9 0x4 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x1 0x3 0x9 0x4 0xff 0x0 
send xfer complete event
dcd xfer 10
input ep int 
d->h :0x10 0x3 0x74 0x0 0x79 0x0 0x75 0x0 0x73 0x0 0x74 0x0 0x6c 0x0 0x69 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
setup packed recvd
setup packed done
output ep int 
h->d: 0x80 0x6 0x2 0x3 0x9 0x4 0xff 0x0 
send xfer complete event
dcd xfer 1e
input ep int 
d->h :0x1e 0x3 0x74 0x0 0x79 0x0 0x75 0x0 0x73 0x0 0x74 0x0 0x6c 0x0 0x69 0x0 0x20 0x0 0x44 0x0 0x65 0x0 0x76 0x0 0x69 0x0 0x63 0x0 0x65 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 0
rxflvl int
output ep int 
send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
dcd xfer 8
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
input ep int 
d->h :0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 
turn off txfe
input ep int 
edpt int send xfer complete event
http://www.lbrq.cn/news/2697139.html

相关文章:

  • 郑州交友网站建设广州今天新闻
  • 电商网站怎么做seo优化做app的网站
  • 如何百度到自己的网站台州关键词优化服务
  • 番禺网站建设专家今天中国新闻
  • 河南省建设厅上班时间宁波seo整站优化
  • 素材网站建设千万不要学网络营销
  • c2c模式的平台有哪些seo指的是
  • 厦门建设网站竞价推广出价多少合适
  • 手机做任务网站有哪些成都官网seo服务
  • 织梦网站后台怎么登陆搜狗seo刷排名软件
  • 建站 哪个网站系统好用百度关键词指数查询
  • 网站创建流程包括哪些步骤电商网站如何避免客户信息泄露
  • 做网站的公司杭州百度客服号码
  • 有做网站的吗网络链接推广
  • bbc实验是哪个网站做的六种常见的网络广告类型
  • mac做网站改html文件google本地搜索
  • 公司的网站建设百度竞价怎么收费
  • 什么网站可以做家教营销技巧和话术
  • 宁波做公司网站公司百度搜索关键词怎么刷上去
  • 设计图纸网站优化教程网下载
  • 允许个人做动漫网站吗关键词搜索引擎工具
  • 咸阳学校网站建设联系电话网站推广交换链接
  • 云南做网站费用在线生成网页网站
  • 做教育网站需要规划哪些内容网络服务包括哪些内容
  • 菏泽做企业网站个人接外包项目平台
  • 深圳网站设计公司是什么蚁百杭州网站seo优化
  • 个人网站做淘宝客如何备案最好的网络营销软件
  • 建立网站成本如何开展网络营销
  • iview可以做门户网站吗网络营销的5种方式
  • 网站建设过程小结谷歌账号注册入口官网
  • 18. parseInt 的参数有几个
  • 笔趣阁追书小说
  • IIS Express中可以同时加载并使用.net4.0和.NET 2.0的 DLL
  • 线性代数 · 矩阵 | 最小多项式
  • Azimutt:一款免费开源的多功能数据库工具
  • Linux系统编程Day12 -- 环境变量(初识)