使用MDK+GCC的方式。
STM32的USB库文件名:STSW_STM32121,下载地址:https://www.stmcu.com.cn/Designresource/design_resource_detail?file_name=STSW_STM32121&lang=EN&ver=4.1.0
将USB的库文件加入到项目工程,编译提示缺少“hw_config.h”文件。可以在下载的STSW_STM32121里面找一个例程中的这个文件。这里直接建立一个空的hw_config.h文件。再次编译提示缺少“usb_conf.h”。再建立一个空的usb_conf.h文件,编译缺少一些定义,在hw_config.h中加入
#include "stm32f10x.h"
#include "core_cm3.h"
编译提示缺少IMR_MSK的定义,在usb_conf.h里面加入
/*-------------------------------------------------------------*/
/* ------------------- ISTR events -------------------------*/
/*-------------------------------------------------------------*/
/* IMR_MSK */
/* mask defining which events has to be handled */
/* by the device application software */
#define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM | CNTR_SOFM \
| CNTR_ESOFM | CNTR_RESETM )
此时是可以编译成功的。
IMR_MSK是定义USB中断处理的事务类型。