最后总结原因:在usb_conf.h头文件中,有如下宏定义EP_NUM:此端点要根据使用的端点进行相应的设置才行,具体原因请见下面新增加的注释,ST原来的注释描述的并不准确。
/*-------------------------------------------------------------*/
/* EP_NUM */
/* defines how many endpoints are used by the device */
/*-------------------------------------------------------------*/
/*此定义控制着初始化端点的数量,表示使用的最大端点号加1*/
/*如果使用EP0, EP1, EP_NUM = 2, 如果使用EP0,EP2, EP_NUM = 3*/
#define EP_NUM (3)