stm32头文件问题?

stm32f10x.h文件中没有找到包含stm32f10x_gpio.h的语句。请问:GPIO_InitTypeDef 明明是在stm32f10x_gpio.h中定义的,而主程序中没有包含stm32f10x_gpio.h,只包含了stm32f10x.h,为什么也可以通过编译?

第1个回答  2020-07-29
因为,stm32f10x.h中包含了一系列的标准库头文件,其中就包括了stm32f10x_gpio.h,但是,一定要确保宏配制正确!
查看一下stm32f10x.h源代码就清楚了追问

找到了这段,但是第一行"如果定义了USE_STDPERIPH_DRIVER"是什么意思能?可以解释下吗,非常感谢!
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif

本回答被提问者采纳
第2个回答  2022-03-27

因为你这里写了外部驱动,所以在stm32f10x.h中

#ifdef USE_STDPERIPH_DRIVER

  #include "stm32f10x_conf.h"

#endif

这行代码就会执行,在stm32f10x_conf.h包含了所有外设的头文件

第3个回答  2020-07-29
棵树减减餐代餐换三。
相似回答