在我们学习STM32开发的时候,在搭建开发环境时,需要对MDK进行各种配置,一般需要在MDK的optiions for Target(魔术棒)中C/C++选项卡的Define框中加入一些宏,比如STM32F429xx等,为什么要加这些宏呢?
当我们使用STM32系列芯片进行开发时,一般都要包含一个顶层头文件stm32f4xx.h,而顶层头文件会根据具体工程芯片的型号来选择包含对应的芯片的片上外设访问层头文件,比如我们使用stm32f429系列芯片的时候会包含stm32f429.h文件,在stm32f4xx.h中可以找到这样的语句
···
#elif defined(STM32F429xx)
#iinclude "stm32f429xx.h"
···
这里就是根据宏定义STM32F429xx来选择包含哪个片上外设访问层头文件。如果不在MDK的optiions for Target(魔术棒)中C/C++选项卡的Define框中加STM32F429xx这个宏,会报出很多错误,显示有各种未定义,注意在我们使用到stm32f429xx.h这个头文件中的定义时会报错,如果我们没有使用到这个文件中的内容可能不会报错,但是这并不代表工程没有问题,所以在开发时,还是要加上这个宏为好。