3953|5

1942

帖子

2

TA的资源

版主

楼主
 

【MM32 eMiniBoard测评】Part6:USB_HID的初步了解 [复制链接]

 

1.介绍

这是我第一次接触USB的HID通信协议,以往基本都是使用串口,这算是一个新的知识,所以也稍微查询了一下资料,也看了一下其他人的测评,大概对HID有了初步的了解,下面就看一下这个流程吧。

2.HID介绍

USB设备描述符-概述

当插入USB设备后,主机会向设备请求各种描述符来识别设备。那什么是设备描述符呢?

Descriptor即描述符,是一个完整的数据结构,可以通过C语言等编程实现,并存储在USB设备中,用于描述一个USB设备的所有属性,USB主机是通过一系列命令来要求设备发送这些信息的。

描述符的作用就是通过命令操作作来给主机传递信息,从而让主机知道设备具有什么功能、属于哪一类设备、要占用多少带宽、使用哪类传输方式及数据量的大小,只有主机确定了这些信息之后,设备才能真正开始工作。

USB有那些标准描述符? 

USB有5种标准描述符:设备描述符 、配置描述符、字符描述符、接口描述符、端点描述符  。

描述符之间有一定的关系,一个设备只有一个设备描述符,而一个设备描述符可以包含多个配置描述符,而一个配置描述符可以包含多个接口描述符,一个接口使用了几个端点,就有几个端点描述符。由此我们可以看出,USB的描述符之间的关系是一层一层的,最上一层是设备描述符,下面是配置描述符,再下面是接口描述符,再下面是端点描述符。在获取描述符时,先获取设备描述符,然后再获取配置描述符,根据配置描述符中的配置集合长度,一次将配置描述符、接口描述符、端点描述符一起一次读回。其中可能还会有获取设备序列号,厂商字符串,产品字符串等。

上面是我从别的地方摘过来的,整体大概就是这么一个意思。

3.HID代码简单分析

首先打开【MM32F013x_Lib_Samples_V1.03\MM32F013x_Samples\LibSamples\USB\USB_HID_Suspend】这里面的例程,官方给出的例程已经非常好了,接下来下载坛友提供的HID助手【https://download.eeworld.com.cn/detail/fxyc87/614379】,这个助手功能挺强大的。

打开HID调试工具,可以看到HID整体界面如下图所示,这时候点击查找USB,如果开发板已经下载例程,则列表里会出现如下图红框中的名称,这就是MM的HID设备名称。

接下来运行看一下,可以看到接收速度非常快,这里可以大致的统计一下速度,约为35000字节每秒。

35000字节每秒代表的速率是多少呢,35000X8就等于通信速率,大约为280000bit/s速率还是挺可观的。

最后来看一下代码,也是比较简介的,在while循环中不停的发送数据,所以会一直接收到数据。

最新回复

谢谢楼主分享   详情 回复 发表于 2021-5-21 10:10
点赞 关注
 
 

回复
举报

7608

帖子

18

TA的资源

五彩晶圆(高级)

沙发
 

我也没完完整整仔仔细细玩过usb

个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

板凳
 

不错 不错,我也试下

点评

是啊,这个对于我来说是新东西,你也试试。  详情 回复 发表于 2020-11-21 08:57
 
 
 

回复

1942

帖子

2

TA的资源

版主

4
 
bianjianm 发表于 2020-11-20 22:25 不错 不错,我也试下

是啊,这个对于我来说是新东西,你也试试。

 
 
 

回复

1万

帖子

203

TA的资源

管理员

5
 

灵动MM32 eMiniBoard开发板测评

汇总贴:https://bbs.eeworld.com.cn/thread-1146791-1-1.html

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名玩板看这里:
https://bbs.eeworld.com.cn/elecplay.html
EEWorld测评频道众多好板等你来玩,还可以来频道许愿树许愿说说你想要玩的板子,我们都在努力为大家实现!
 
 
 

回复

661

帖子

0

TA的资源

纯净的硅(初级)

6
 

谢谢楼主分享

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表