使用mango_dev_usb_slave.h中已封装的函数,u32 user_set_descriptor(USB_DES index, void * pstring, u32 len);。对应增加USB_DES中的产品字符串。
特别注意:修改烧录后,重新上机时,需要把设备管理器中的USB Composite Device设备删除。刷新设备。否则,系统只会认到旧的已存在系统中的设备名称而不去更新新的设备名称。
mango_dev_usb_slave.h
typedef enum
{
DEVICE_DESCRIPTOR_STR = 0x0,//设备描述符STR
CONFIG_DESCRIPTOR_STR, //配置描述符STR
MSD_CONFIG_DESCRIPTOR , //MSD配置/描述符
AUDIO_CONFIG_DESCRIPTOR, //音频配置描述符
SPEAKER_CONFIG_DESCRIPTOR, //扬声器配置描述符
MIC_CONFIG_DESCRIPTOR, //麦克风配置描述符
HID_CONFIG_DESCRIPTOR, //HID配置描述符
HID_REPORT_DESCRIPTOR, //HID报告描述符
LANGUAGE_STRING, //语言字符串
IMANUFACTURE_STRING, //描述厂商字符串的索引Index of Vendor
IPRODUCT_STRING, //描述产品字符串的索引Index of Producr
ISERIAL_NUMBER_STRING, //描述设备序列号字符串的索引0x03;//Index of SN
AUDIO_VOL, //AUDIO_VOL
MIC_VOL, //
MAX_STRING = 14,
}USB_DES;
u32 user_set_descriptor(USB_DES index, void * pstring, u32 len);
dev_pc.c
#include "usb/mango_dev_usb_slave.h"
dev_pc.c
const u8 IPRODUCT_STR1[] =
{ 0x16, 0x03,
'E',0,'T',0,'f',0,'r',0, 'o', 0, 'm', 0,
'M',0,'A',0,'R',0,'s',0,
};
dev_pc.c
s32 app_usb_slave_init(void)
{
...
...
...
...
user_set_descriptor(IPRODUCT_STRING, (u8 *)IPRODUCT_STR1, IPRODUCT_STR1[0]);
};