本帖最后由 wormchen 于 2012-11-20 09:06 编辑
我现在用STM32 + FLASH 实现U盘功能,用的官方的例子。文件操作已经没有问题。但枚举成功后再设备管理器显示"STM SD FLASH USB Disk Device",我先改成我自己产品的名字,可是usb_desc.c文件里根本都找不到对应的字符串,不知道设备管理器里显示的名字是从哪来的。
const uint8_t MASS_StringLangID[MASS_SIZ_STRING_LANGID] =
{
MASS_SIZ_STRING_LANGID,
0x03,
0x09,
0x04
}
; /* LangID = 0x0409: U.S. English */
const uint8_t MASS_StringVendor[MASS_SIZ_STRING_VENDOR] =
{
MASS_SIZ_STRING_VENDOR, /* Size of manufacturer string */
0x03, /* bDescriptorType = String descriptor */
/* Manufacturer: "STMicroelectronics" */
'S', 0, 'T', 0, 'M', 0, 'i', 0, 'c', 0, 'r', 0, 'o', 0, 'e', 0,
'l', 0, 'e', 0, 'c', 0, 't', 0, 'r', 0, 'o', 0, 'n', 0, 'i', 0,
'c', 0, 's', 0
// 'Z', 0, 'h', 0, 'i', 0, 'X', 0, 'i', 0, 'n', 0, 'g', 0
};
const uint8_t MASS_StringProduct[MASS_SIZ_STRING_PRODUCT] =
{
MASS_SIZ_STRING_PRODUCT,
0x03,
/* Product name: "STM32F10x:USB Mass Storage" */
'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, ' ', 0, 'M', 0, 'a', 0, 's', 0,
's', 0, ' ', 0, 'S', 0, 't', 0, 'o', 0, 'r', 0, 'a', 0, 'g', 0, 'e', 0
// 'Z', 0, 'B', 0, 'S', 0, '-', 0, 'I', 0, 'I', 0, ' ', 0, 'D', 0, 'u', 0,
// 'm', 0, 'p', 0, 'e', 0, 'r', 0
};
uint8_t MASS_StringSerial[MASS_SIZ_STRING_SERIAL] =
{
MASS_SIZ_STRING_SERIAL,
0x03,
/* Serial number*/
#ifdef STM32L1XX_MD
'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, 'L', 0, '1', 0
#else
'S', 0, 'T', 0, 'M', 0, '3', 0, '2', 0, '1', 0, '0', 0
#endif /* STM32L1XX_MD */
// 'Z', 0, 'B', 0, 'S', 0, '-', 0, 'I', 0, 'I', 0, ' ', 0, 'D', 0, 'u', 0,
// 'm', 0, 'p', 0, 'e', 0, 'r', 0
};
const uint8_t MASS_StringInterface[MASS_SIZ_STRING_INTERFACE] =
{
MASS_SIZ_STRING_INTERFACE,
0x03,
/* Interface 0: "ST Mass" */
'S', 0, 'T', 0, ' ', 0, 'M', 0, 'a', 0, 's', 0, 's', 0
// 'Z', 0, 'B', 0, 'S', 0, '-', 0, 'I', 0, 'I', 0, ' ', 0,
// 'M', 0, 'a', 0, 's', 0, 's', 0
};
我直接修改usb_desc.c文件里的字符串描述符里的内容,但是还是不管用。 |
|