USB HID Atmega 32u4 Arduino - 系统设备ID /名称更改为默认Arduino leonardo

时间:2016-01-16 07:47:43

标签: keyboard arduino usb device hid

我正在使用基于 Atmega32u4 的arduino leonardo mini克隆构建USB隐藏设备。该特定IC已内置USB控制器,并将其转换为HID设备很简单,只需要包含Keyboard.h然后使用Keyboard.print ......

问题是,当arduino连接到PC时,我在哪里可以设置/定义所显示设备的名称,因为目前它被命名为Arduino Leonardo。

tty 的默认自动名称为 usbmodemHIDP1

在系统偏好设置中,我可以看到:

  ID product:   0x8036
  ID vendor:    0x2341
  Wersion:  1.00
  Serial number:    HIDPC
  Speed:    do 12 Mb/sek.
  Vendor:   Arduino LLC
  ID location:  0x14200000 / 16

那么在arduino Keyboard.h中我可以更改该名称或ID吗? 可能吗 ? 因为在我看来应该是,但我找不到合适的地方,而且我没有Arduino AVR的经验,因为我以前使用Microchip的Mplab X进行不同的IC;)。

任何帮助表示赞赏 最好的问候

1 个答案:

答案 0 :(得分:1)

董事会在枚举时发送的“iProduct”字符串告诉操作系统给出了人类可读的名称。该字符串的值设置在hardware / arduino / cores / arduino /中的USBCore.cpp顶部附近。这是一个Unicode字符串,所以我们需要寻找'L','e','o','n'[...]而不是“Leonardo”。使用的字符串取决于在board.txt中给出的设备的PID号(也在枚举期间发送)。

为了分发基于Leonardo的自定义硬件,需要提供自己的VID。

也可以使用替代固件。 Arduino的32U4引导程序Caterina可以在硬件/ arduino / bootloaders / caterina下找到。它需要LUFA才能构建。

希望能帮助别人解决同样的问题:)干杯,主题已关闭