usb的hid鼠标键盘报告描述符(五)】的更多相关文章

title: usb的hid鼠标键盘报告描述符 tags: linux date: 2018/12/20/ 18:05:08 toc: true --- usb的hid鼠标键盘报告描述符 https://blog.csdn.net/xqhrs232/article/details/79184272 鼠标 鼠标发送给PC的数据每次4个字节 BYTE1 BYTE2 BYTE3 BYTE4 定义分别是: BYTE1 -- ​ |--bit7: 1 表示 Y 坐标的变化量超出-256 ~ 255的范围,…
Report descriptors are composed of pieces of information. Each piece of information is called an Item.报告描述符由一些数据片组成.这些数据片被叫做Item.All items have a one-byte prefix that contains the item tag, item type, and item size. 每一个Item都包含一个字节的前缀,这个前缀中包含了三个信息--it…
转自:http://group.ednchina.com/93/198.aspx. 参考:USB HID usage table 概述:   报告在这里意思是数据传输(data transfer),而报告描述符是对这些传输的数据作用途(usage)上的说明. USB通讯协议的规范是以1ms产生一个USB帧(frame),USB设备可以每一个帧中发送和接收一个交换(transaction).交换是由几个封包(packet)组成,而传输是由一个或几个交换来完成传送一口中有效的数据.在这里,传输和报告…
1,报告描述符概述    1.1) 报表描述符        报表描述符和USB的其他描述符是不一样的,它不是一个简单的表格,报表描述符是USB所有描述符中最复杂的.报表描述符非常复杂而有弹性,因为它需要处理各种用途的设备.报表的数据必须以简洁的格式来储存,这样才不会浪费设备内的储存空间以及数据传输时的总线时间.实际上可以这样理解,报表内容的简洁,是通过报表描述符全面的.复杂的数据描述实现的.报表描述符必须先描述数据的大小与内容.报表描述符的内容与大小因设备的不同而不同,在进行报表传输之前,主机…
前言 断断续续的学习了将近三个月,才把USB的HID类搞明白,速度真是够慢的.利用晚上+周末的时间学习自己的东西确实是必要的,不过效率是有点低,以后要更专注一些才行,希望自己能做到吧. 在学习过程中,刚开始主要参考了周立功编写的一本<PDIUSBD12 USB 固件编程与驱动开发>,后面的学习主要参考电脑圈圈的资料包,包括里面的HID类的英文协议文档,还有一位台湾前辈几年前写的几篇文章,还有网络下有下得到的一些例程.在此感谢各位大虾前辈的分享. 一.学习流程 1,先大致看下USB1.1中文版的…
在USB中,USB HOST是通过各种描述符来识别设备的,有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,报告描述符等等.USB报告描述符(Report Descriptor)是HID设备中的一个描述符,它是比较复杂的一个描述符.        USB HID设备是通过报告来给传送数据的,报告有输入报告和输出报告.输入报告是USB设备发送给主机的,例如USB鼠标将鼠标移动和鼠标点击等信息返回给电脑,键盘将按键数据数据返回给电脑等:输出报告是主机发送给USB设备的,例如键盘上的数字…
在USB中,USB Host是通过各种描述符来识别识别设备的,一般在设备枚举的过程将会获取有设备描述符/配置描述符/接口描述符/端点描述符/字符串描述符等 现在我们来介绍一下HID ReportDesc. 我们看一下在其内容为 我们先来使用HID Descriptor Tool来生成上面的数据 小结 USAGE_PAGE You first set a usage page.  Above it is using 'Generic Desktop' USAGE_PAGE page is much…
更多塔克创新资讯欢迎登陆[塔克社区 www.xtark.cn ][塔克博客 www.cnblogs.com/xtark/ ] X-CTR100控制器具有MicroUSB接口,支持SLAVE和HOST两种模式,本例程介绍USB HOST鼠标键盘功能. 通过鼠标键盘,可以使作品产生更高级的控制行为,例如通过无线鼠标控制机器人或智能车. 原理 USB 鼠标键盘属于 USB HID.HID是Human Interface Device的缩写,由其名称可以了解HID设备是直接与人交互的设备,例如键盘.鼠标…
前面分析了usb的四大描述符之端点描述符,接口描述符(每一个接口对应一个功能,与之配备相应驱动),下面是看配置描述符还是看设备描述符呢??我们知道,设备大于配置,配置大于接口,接口可以有多种设置. 我们还是按照从小到大的顺序,继续看配置结构体吧! struct usb_host_config { struct usb_config_descriptor desc; char *string; /* iConfiguration string, if present */ /* the inter…
前面struct usb_interface里表示接口设置的struct usb_host_interface被有意的飘过了,咱们在这节主要讲讲这个结构体,同样在include/linux/usb.h文件里定义. /* host-side wrapper for one interface setting's parsed descriptors */ struct usb_host_interface { struct usb_interface_descriptor desc; /* arr…