问题 :
一些小伙伴在使用keil软件时可能会遇到以下情况。程序写的没问题,但是keil5一直提示有错误,结果编译后也没问题,0 error(s), 0 warning(s).
解决方法:
首先点击魔术棒按钮,在弹出的提示框中找到C\C++按钮并点击,
接着在Define一栏填入 USE_STDPERIPH_DRIVER
然后点击 OK 就行了
原因:
在STM32标准库编程中,USE_STDPERIPH_DRIVER宏起着至关重要的作用。这个宏定义在C/C++选项中,它的主要功能是作为一个开关,控制是否包含STM32固件库标准外设驱动的头文件。当在项目中定义了USE_STDPERIPH_DRIVER宏后,它会告诉编译器包含stm32f10x_conf.h文件,这个文件中包含了所有外设驱动的头文件,如stm32f10x_gpio.h 等。
在main.c文件中,通常会包含stm32f10x.h头文件。在stm32f10x.h 中,存在一个预编译指令,检查是否定义了USE_STDPERIPH_DRIVER。如果已定义,stm32f10x_conf.h 将被包含进来,这样就可以在main.c中使用所有标准外设驱动的功能。如果没有定义USE_STDPERIPH_DRIVER,则需要手动包含每个所需的外设驱动头文件。