参考文章如下。出现这个问题是因为使用了官方的标准外设库又没有定义USE_STDPERIPH_DRIVER”
https://blog.csdn.net/electrocrazy/article/details/79712155
方法1(不推荐
根据文章所说,在“stm32f10x.h”文件的起始位置定义USE_STDPERIPH_DRIVER即可。因此依葫芦画瓢,在stm32f40x.h文件头部添加
#define USE_STDPERIPH_DRIVER
问题解决。
方法2:工程参数设置
在keil的仙女棒中选择C/C++,Preprocessor Symbols中输入USE_STDPERIPH_DRIVER,也就是添加宏定义即可。在EIDE中这个方法能避免后续各种问题,推荐使用。EIDE中选择项目属性,在预处理宏定义中添加USE_STDPERIPH_DRIVER参数,再次编译正常通过。
论坛中也有文章[https://discuss.em-ide.com/d/358-eidestm32](https://)详细说明了新建一个工程时需要添加预处理宏定义。