在SD卡和NAND Flash模拟U盘的例程上显示2个盘符,我想再增加1个盘符,变成3个盘符,就在例程下简单修改两处,
第一处:在usbd_storage_msd.c文件 把#define STORAGE_LUN_NBR 2 //几个盘符 改成 3
第二处:也是在usbd_storage_msd.c文件
const int8_t STORAGE_Inquirydata[] =
{
/* LUN 0 SD卡 */
0x00,
0x80,
0x02,
0x02,
(USBD_STD_INQUIRY_LENGTH - 5),
0x00,
0x00,
0x00,
'S', 'T', 'M', ' ', ' ', ' ', ' ', ' ', /* Manufacturer : 8 bytes */
'm', 'i', 'c', 'r', 'o', 'S', 'D', ' ', /* Product : 16 Bytes */
'F', 'l', 'a', 's', 'h', ' ', ' ', ' ',
'1', '.', '0' ,'0', /* Version : 4 Bytes */
/* LUN 1 NAND Flash */
0x00,
0x80,
0x02,
0x02,
(USBD_STD_INQUIRY_LENGTH - 5),
0x00,
0x00,
0x00,
'A', 'R', 'M', 'F', 'L', 'Y', ' ', ' ', /* Manufacturer : 8 bytes */
'N', 'A', 'N', 'D', ' ', 'F', 'l', 'a', /* Product : 16 Bytes */
's', 'h', ' ', ' ', ' ', ' ', ' ', ' ',
'1', '.', '0' ,'0', /* Version : 4 Bytes */
/* LUN 2 SPI Flash */ //自己再添加的
0x00,
0x80,
0x02,
0x02,
(USBD_STD_INQUIRY_LENGTH - 5),
0x00,
0x00,
0x00,
'C', 'O', 'M', ' ', ' ', ' ', ' ', ' ', /* Manufacturer : 8 bytes */
'S', ' ', 'I', 'D', ' ', 'F', 'l', 'a', /* Product : 16 Bytes */
's', 'h', ' ', ' ', ' ', ' ', ' ', ' ',
'1', '.', '0' ,'0', /* Version : 4 Bytes */
};
但这样就没反应了,电脑上不显示盘符,串口调试打印出"> Device In suspend mode",没去很详细了解USB协议,请问是不是还要改哪些地方? |