USB 是个通用的总线,端口都是统一的。但是USB 设备却各种各样,例如USB 鼠标, USB键盘, U盘等等,那么USB 主机是如何识别出不同的设备的呢?这就要依赖于描述符了。USB 的描述符主要有设备描述符,配置描述符,接口描述符,端点描述符,字符串描述符,HID 描述符,报告描述符等等。
一个USB 设备有一个设备描述符,设备描述符里面决定了该设备有多少种配置,每种配置描述符对应着配置描述符; 而在配置描述符中又定义了该配置里面有多少个接口, 每个接口有对应的接口描述符; 在接口描述符里面又定义了该接口有多少个端点, 每个端点对应一个端点描述符; 端点描述符定义了端点的大小, 类型等等。由此我们可以看出, USB 的描述符之间的关系是一层一层的, 最上一层是设备描述符, 下面是配置描述符, 再下面是接口描述符,再下面是端点描述符。在获取描述符时,先获取设备描述符,然后再获取配置描述符,根据配置描述符中的配置集合长度, 一次将配置描述符、接口描述符、端点描述符一起一次读回。其中可能还会有获取设备序列号,厂商字符串,产品字符串等。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !