您的位置 首页 开关

关于STM32 MDK中USE_STDPERIPH_DRIVER问题

初学STM32,在RealViewMDK环境中使用STM32固件库建立工程时,初学者可能会遇到编译不通过的问题。出现如下警告或错误提示:warning:22

初学STM32,在RealViewMDK环境中运用STM32固件库树立工程时,初学者可能会遇到编译不经过的问题。呈现如下正告或过错提示:

  warning:#223-D:function”assert_param”declaredimplicitly;assert_param(IS_GPIO_ALL_PERIPH(GPIOx));

  这时分咱们需求在“TargetOptions”中的“C/C++”选项卡中增加USE_STDPERIPH_DRIVER、STM32F10X_HD。这样才能使编顺畅经过。

  知其然了,咱们还得知其所以然。下面就一一道来。咱们知道,程序的履行是从“main.c”文件开端的,其间有必要包括有头文件“stm32f10x.h”。咱们翻开“stm32f10x.h”,按下“Ctrl+F”键,查找USE_STDPERIPH_DRIVER,在“FindWhat”栏中输入“USE_STDPERIPH_DRIVER”。点击“FindNext”,呈现“USE_STDPERIPH_DRIVER”对应的代码行,重复上边操作三次,第三次的时分咱们能在第8296-8298行找到

  #ifdefUSE_STDPERIPH_DRIVER

  #include”stm32f10x_conf.h”

  #endif

  这段代码的意思是,只有用预编译指令预界说了“USE_STDPERIPH_DRIVER”,才会将”stm32f10x_conf.h”包括进“stm32f10x.h”中,然后被”main.c”用到。这就解说了,为什么咱们没有在“main.c”中包括”stm32f10x_conf.h”,而在编译之后却被包括进了”main.c”中。”stm32f10x_conf.h”文件相当于一个开关文件,假如要用到STM32固件库驱动规范外设,则外设驱动头文件是必不可少的,如“stm32f10x_gpio.h”。在”stm32f10x_conf.h”中咱们经过代码

  #include”stm32f10x_gpio.h”

  来完成这个操作。

  提到这儿估量咱们现已对“USE_STDPERIPH_DRIVER”的来龙去脉有个明晰的知道了吧?其实单从字面意思了解便是“运用规范外设驱动”,在C/C++预界说中参加“USE_STDPERIPH_DRIVER”便是答应“运用规范外设驱动”了。至于参加的“STM32F10X_HD“相同能在文件”stm32f10x.h“经过如上所述的办法经过功用查找来进行解说,其实它也是关于对应硬件的某些界说起开关效果算了。

  别的需求留意的是,在运用不同版别库的时分,因为有所不同(当然包括MDK自带的库),所以咱们需求在包括的时分必定要留意选对途径,以免不同版别之间的一些界说因为所在的文件不同而发生抵触。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/kaiguan/263228.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部