USB HID 设备是通过报告来给传送数据的, 报告有输入报告和输出报告。输入报告是USB设备发送给主机的,例如USB 鼠标将鼠标移动和鼠标点击等信息返回给电脑,键盘将按键数据数据返回给电脑等;输出报告是主机发送给USB 设备的,例如键盘上的数字键盘锁定灯和大写字母锁定灯等。报告是一个数据包, 里面包含的是所要传送的数据。输入报告是通过中断输入端点输入的, 而输出报告有点区别, 当没有中断输出端点时, 可以通过控制输出端点0 发送,当有中断输出端点时,通过中断输出端点发出。
而报告描述符,是描述一个报告以及报告里面的数据是用来干什么用的。通过它, USBHOST 可以分析出报告里面的数据所表示的意思。它通过控制输入端点0 返回, 主机使用获取报告描述符命令来获取报告描述符, 注意这个请求是发送到接口的, 而不是到设备。一个报告描述符可以描述多个报告,不同的报告通过报告ID 来识别,报告ID 在报告最前面,即第一个字节。当报告描述符中没有规定报告ID 时,报告中就没有ID 字段,开始就是数据。更详细的说明请参看USB HID 协议。USB 报告描述符可以通过使用HID Descriptor tool来生成,这个工具可以网上下载。
下面通过由HID Descriptor tool 生成的USB 鼠标和USB 键盘来说明一下报告描述符和报告。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !