如果使用STM32f103C8T6,在用keil编译时,不同的软件版本,在预处理符上写法不同。在keil4中preprocessor symbols需要写USE_STDPERIPH_DRIVER,STM32f10x_MD,如果不写就会报错。在keil5中,不写STM32f10x_MD,也是可以编译成功。
如果用MDK RTE环境生成库函数,stm32f10x.h会多下面的几行代码,且会生成一个RTE Component.h文件,通过下面的代码,会自定义 USE_STDPERIPH_DRIVER,这样在preprocessor symbols中USE_STDPERIPH_DRIVER也不用写。
如果不是用MDK RTE环境加外设,在preprocessor symbols中USE_STDPERIPH_DRIVER还是要写的。
#if !defined USE_STDPERIPH_DRIVER
#ifdef _RTE_
#include "RTE_Components.h"
#ifdef RTE_DEVICE_STDPERIPH_FRAMEWORK
#define USE_STDPERIPH_DRIVER
#endif
#endif
#endif