[MM32硬件] 【灵动微电子MM32F5330测评】7、实现USB HID枚举

[复制链接]
1699|9
 楼主| qintian0303 发表于 2024-7-11 14:08 | 显示全部楼层 |阅读模式
        USB是本开发板一个重要的功能,不过通过查询已有的例程中并没有有关USB的例程,我们只能通过其他途径获取,灵动微官网可以生成专用的SDK,其中就包括基于tinyusb的hid_keyboard例程我们参考这个例程进行设计,通过这个例程把我们的开发板枚举成功。
        登录mindsdk网站:
1.png

        选择特定目标信息,生成SDK样板:
2.png

        选择目标例程:
3.png

        这个例程编译后可以看到一只输入a,不过这个定制的工程被急速缩减了,就连常用的“SET”这种宏定义都没有,风格和通用例程差的太多,我们只能试着把这里面的移植一下,结果CFG_TUSB_MCU还总是找不到定义,说是在defined by board.mk,原版里面也没有找到。
        只能进行一下USB的体验了,连接USB后可以看到:
4.png

        对于设备的名字可以"usb_descriptors.c"中进行查看修改,还有其他USB参数,比如PID等等:
  1. tusb_desc_device_t const desc_device =
  2. {
  3.     .bLength            = sizeof(tusb_desc_device_t),
  4.     .bDescriptorType    = TUSB_DESC_DEVICE,
  5.     .bcdUSB             = 0x0110,
  6.     .bDeviceClass       = 0x00,
  7.     .bDeviceSubClass    = 0x00,
  8.     .bDeviceProtocol    = 0x00,
  9.     .bMaxPacketSize0    = CFG_TUD_ENDPOINT0_SIZE,

  10.     .idVendor           = 0xCafe,
  11.     .idProduct          = USB_PID,
  12.     .bcdDevice          = 0x0100,

  13.     .iManufacturer      = 0x01,
  14.     .iProduct           = 0x02,
  15.     .iSerialNumber      = 0x03,

  16.     .bNumConfigurations = 0x01
  17. };
  18. char const* string_desc_arr [] =
  19. {
  20.   (const char[]) { 0x09, 0x04 }, // 0: is supported language is English (0x0409)
  21.   "TinyUSB",                     // 1: Manufacturer
  22.   "TinyUSB Device",              // 2: Product
  23.   "123456",                      // 3: Serials, should use chip ID
  24. };
       我还是想重点吐槽一下,这次提供的例程和SDK是两个工作组写的吗?对于同一款单片机最基本的规范都不统一吗?我很费解,想要移植需要修改大量的宏定义,要搞统一是不是先把自己的对外代码先统一。

tpgf 发表于 2024-7-19 11:39 | 显示全部楼层
每次枚举代表什么需要建立头文件吗
xiaoqizi 发表于 2024-7-19 12:56 | 显示全部楼层
一般情况下枚举型的数据占用的空间取决于什么呢
wowu 发表于 2024-7-19 17:15 | 显示全部楼层
如果枚举的数量比较多的话 有没有好的替代方式呢
wakayi 发表于 2024-7-19 18:21 | 显示全部楼层
这些枚举的变量都代表什么状态呢
shenxiaolin 发表于 2024-7-22 17:02 | 显示全部楼层
感谢分享,辛苦了
suncat0504 发表于 2024-7-30 20:42 | 显示全部楼层
适用型号多吗?有这样的工具,真是方便多了。
[鑫森淼焱垚] 发表于 2024-8-1 14:01 | 显示全部楼层
大佬,牛啊
gangong 发表于 2024-10-26 09:31 | 显示全部楼层
棒真棒了
beyikyo 发表于 2024-10-31 16:44 | 显示全部楼层
感谢分享,了解到 MM32F5330 通过参考例程实现 USB HID 枚举,也看到一些问题反馈。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:硬件工程师
简介:有着多年硬件开发经验的专业人员,专注于医疗电子领域,热衷于对新鲜事物的探索,喜欢DIY!

602

主题

2899

帖子

12

粉丝
快速回复 在线客服 返回列表 返回顶部