OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 11077|回复: 7

stm32 模拟usb设备在电脑设备管理器中名字的问题

[复制链接]

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2015-1-27
在线时间
15 小时
发表于 2015-2-9 11:32:40 | 显示全部楼层 |阅读模式
5金钱
[mw_shl_code=c,true]#include "usb_lib.h" #include "usb_desc.h" /* Private typedef -----------------------------------------------------------*/ /* Private define ------------------------------------------------------------*/ /* Private macro -------------------------------------------------------------*/ /* Private variables ---------------------------------------------------------*/ /* Extern variables ----------------------------------------------------------*/ /* Private function prototypes -----------------------------------------------*/ /* Private functions ---------------------------------------------------------*/ /* USB Standard Device Descriptor */ /*设备描述符(0x01)*/ const u8 CustomHID_DeviceDescriptor[CUSTOMHID_SIZ_DEVICE_DESC] = { 0x12, /*bLength */ USB_DEVICE_DESCRIPTOR_TYPE, /*bDescriptorType*/ 0x00, /*bcdUSB */ 0x02, 0x00, /*bDeviceClass*/ 0x00, /*bDeviceSubClass*/ 0x00, /*bDeviceProtocol*/ 0x40, /*bMaxPacketSize40*/ 0x83, /*idVendor (0x0483)*/ 0x04, 0x50, /*idProduct = 0x5750*/ 0x57, 0x00, /*bcdDevice rel. 2.00*/ 0x02, 1, /*Index of string descriptor describing manufacturer */ 2, /*Index of string descriptor describing product*/ 3, /*Index of string descriptor describing the device serial number */ 0x01 /*bNumConfigurations*/ } ; /* CustomHID_DeviceDescriptor */ /* USB Configuration Descriptor */ //配置描述符// /* All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */ //包括(配置,接口,端点,类,厂商) const u8 CustomHID_ConfigDescriptor[CUSTOMHID_SIZ_CONFIG_DESC] = { //配置描述符(0x02) 0x09, /* bLength: Configuation Descriptor size *///长度,设备字符串的长度为9字节*/ USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType: Configuration */ CUSTOMHID_SIZ_CONFIG_DESC, /* wTotalLength: Bytes returned */ 0x00, 0x01, /* bNumInterfaces: 1 interface */ 0x01, /* bConfigurationValue: Configuration value */ 0x00, /* iConfiguration: Index of string descriptor describing the configuration*/ 0xC0, /* bmAttributes: Bus powered */ /*Bus powered: 7th bit, Self Powered: 6th bit, Remote wakeup: 5th bit, reserved: 4..0 bits */ 0x32, /* MaxPower 100 mA: this current is used for detecting Vbus */ // 0x96, /* MaxPower 300 mA: this current is used for detecting Vbus */ /************** Descriptor of Custom HID interface ****************/ /* 09 */ //HID接口描述符(0x04) 0x09, /* bLength: Interface Descriptor size */ USB_INTERFACE_DESCRIPTOR_TYPE,/* bDescriptorType: Interface descriptor type */ 0x00, /* bInterfaceNumber: Number of Interface */ 0x00, /* bAlternateSetting: Alternate setting */ 0x02, /* bNumEndpoints */ 0x03, /* bInterfaceClass: HID */ 0x00, /* bInterfaceSubClass : 1=BOOT, 0=no boot */ 0x00, /* nInterfaceProtocol : 0=none, 1=keyboard, 2=mouse */ 0, /* iInterface: Index of string descriptor */ /******************** Descriptor of Custom HID HID ********************/ /* 18 */ // HID描述符 (0x21) 0x09, /* bLength: HID Descriptor size */ HID_DESCRIPTOR_TYPE, /* bDescriptorType: HID */ 0x10, /* bcdHID: HID Class Spec release number */ 0x01, 0x00, /* bCountryCode: Hardware target country */ 0x01, /* bNumDescriptors: Number of HID class descriptors to follow */ 0x22, /* bDescriptorType */ CUSTOMHID_SIZ_REPORT_DESC,/* wItemLength: Total length of Report descriptor */ 0x00, /******************** Descriptor of Custom HID endpoints ******************/ /* 27 */ ///********************输入端点描述符******************/ 0x07, /* bLength: Endpoint Descriptor size */ USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */ 0x82, /* bEndpointAddress: Endpoint Address (IN) */ // bit 3...0 : the endpoint number // bit 6...4 : reserved // bit 7 : 0(OUT), 1(IN) 0x03, /* bmAttributes: Interrupt endpoint */ 0x40,//0x02, /* wMaxPacketSize: 20 Bytes max */ 0x00, 0x20, /* bInterval: Polling Interval (21 ms) */ /* 34 */ /********************输出端点描述符******************/ 0x07, /* bLength: Endpoint Descriptor size */ USB_ENDPOINT_DESCRIPTOR_TYPE, /* bDescriptorType: */ /* Endpoint descriptor type */ 0x01, /* bEndpointAddress: */ /* Endpoint Address (OUT) */ 0x03, /* bmAttributes: Interrupt endpoint */ 0x40,//0x02, /* wMaxPacketSize: 20 Bytes max */ 0x00, 0x10, /* bInterval: Polling Interval (32 ms) */ /* 41 */ } ; /* CustomHID_ConfigDescriptor */ /* HID的报告描述符*/ const u8 CustomHID_ReportDescriptor[CUSTOMHID_SIZ_REPORT_DESC] = { //#ifdef 0 0x05, 0x8c, /* USAGE_PAGE (ST Page) */ 0x09, 0x01, /* USAGE (Demo Kit) */ 0xa1, 0x01, /* COLLECTION (Application) */ /* 6 */ // The Input report 0x09,0x03, // USAGE ID - Vendor defined 0x15,0x00, // LOGICAL_MINIMUM (0) 0x26,0x00, 0xFF, // LOGICAL_MAXIMUM (255) 0x75,0x08, // REPORT_SIZE (8) 0x95,0x40, // REPORT_COUNT (20) 0x81,0x02, // INPUT (Data,Var,Abs) //19 // The Output report 0x09,0x04, // USAGE ID - Vendor defined 0x15,0x00, // LOGICAL_MINIMUM (0) 0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255) 0x75,0x08, // REPORT_SIZE (8) 0x95,0x40, // REPORT_COUNT (20) 0x91,0x02, // OUTPUT (Data,Var,Abs) //32 // The Feature report /* 0x09, 0x05, // USAGE ID - Vendor defined 0x15,0x00, // LOGICAL_MINIMUM (0) 0x26,0x00,0xFF, // LOGICAL_MAXIMUM (255) 0x75,0x08, // REPORT_SIZE (8) 0x95,0x02, // REPORT_COUNT (2) 0xB1,0x02, */ /* 45 */ 0xc0 /* END_COLLECTION */ //#endif }; /* CustomHID_ReportDescriptor */ /* USB String Descriptors (optional) *//* 语言ID描述符 */ const u8 CustomHID_StringLangID[CUSTOMHID_SIZ_STRING_LANGID] = { CUSTOMHID_SIZ_STRING_LANGID, USB_STRING_DESCRIPTOR_TYPE, 0x09, 0x04 } ; /* LangID = 0x0409: U.S. English */ /*产品的字符串描述符*/ const u8 CustomHID_StringProduct[CUSTOMHID_SIZ_STRING_PRODUCT] = { CUSTOMHID_SIZ_STRING_PRODUCT, /* bLength */ USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ 'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, 'F', 0,'1',0,'0',0,'3',0 }; /*厂商字符串描述符*/ const u8 CustomHID_StringVendor[CUSTOMHID_SIZ_STRING_VENDOR] = { CUSTOMHID_SIZ_STRING_VENDOR, /* Size of Vendor string */ USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType*/ // Manufacturer: "STMicroelectronics" 'M', 0, 'y', 0, 'U', 0,'S', 0,'B', 0, '_', 0, 'H', 0,'I',0,'D',0 }; /*产品序列号的字符串描述符*/ u8 CustomHID_StringSerial[CUSTOMHID_SIZ_STRING_SERIAL] = { CUSTOMHID_SIZ_STRING_SERIAL, /* bLength */ USB_STRING_DESCRIPTOR_TYPE, /* bDescriptorType */ 'x', 0, 'x', 0, 'x', 0,'x', 0,'x', 0, 'x', 0, 'x', 0 }; [/mw_shl_code]
上面是我的desc.c文件


自己做的usb HID 设备插上电脑 ,设备管理器上主菜单只显示“USB输入设备”,只有调出该设备的属性,选择“总线已报告描述”才出现自定义的名称“STM32F103” 想让设备管理器上主菜单显示自定义的USB名称(图中圈起来的地方),应该在程序那个地方改动,求大神帮帮忙!

看着容易,学着不易,且学且努力!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11536
金钱
11536
注册时间
2014-4-1
在线时间
1313 小时
发表于 2015-2-9 12:07:11 | 显示全部楼层
CDC还知道点儿,这个不懂了。
回复

使用道具 举报

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2015-1-27
在线时间
15 小时
 楼主| 发表于 2015-2-9 13:02:45 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
恩,也不知道这个能不能改!
看着容易,学着不易,且学且努力!
回复

使用道具 举报

8

主题

19

帖子

0

精华

初级会员

Rank: 2

积分
113
金钱
113
注册时间
2015-1-27
在线时间
15 小时
 楼主| 发表于 2015-2-10 16:30:00 | 显示全部楼层
      怎么就没有大神能帮帮我呢? 哎  自己顶一个!  
看着容易,学着不易,且学且努力!
回复

使用道具 举报

32

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
617
金钱
617
注册时间
2013-1-16
在线时间
131 小时
发表于 2020-6-4 12:22:38 | 显示全部楼层
同问,我也遇到了这个问题
回复

使用道具 举报

0

主题

4

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
227
金钱
227
注册时间
2019-5-21
在线时间
66 小时
发表于 2021-6-10 10:37:49 | 显示全部楼层
1597685605 发表于 2020-6-4 12:22
同问,我也遇到了这个问题

我也是这个,问题解决了吗
回复

使用道具 举报

13

主题

179

帖子

0

精华

高级会员

Rank: 4

积分
829
金钱
829
注册时间
2018-12-19
在线时间
169 小时
发表于 2021-6-10 10:44:33 | 显示全部楼层
HID设备估计只能这样显示,如果要显示自定义的名称估计要写驱动。
回复

使用道具 举报

13

主题

179

帖子

0

精华

高级会员

Rank: 4

积分
829
金钱
829
注册时间
2018-12-19
在线时间
169 小时
发表于 2021-6-10 10:48:03 | 显示全部楼层
感谢,我一直以为只能在控制面板里面看到设备名称,原来在设备管理器里面也可以看到设备名称。
微信截图_20210610104539.jpg QQ截图20210610104502.jpg
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-22 18:56

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表