热度 17
2014-8-26 15:26
3525 次阅读|
9 个评论
Stm32 学习第一天 1. 对工程设置中的宏定义的理解,在 stm32F103VET6 的工程设置如下: 如上图,工程设置中定义了两个宏定义: STM32F10X_HD,USE_STDPERIPH_DRIVER ,下面分别来分析它们: 1. STM32F10X_HD 当我们去掉这个宏定义,我们发现报错信息如下 ..\USER\stm32f10x.h(96): error: #35: #error directive: "Please select first the target STM32F10x device used in your application (in stm32f10x.h file)" 我们在程序中找到使用到该宏定义的其中一个地方: 它定义了中断向量的标号。 后续还找到很多关于该宏定义的位置,表明这是编译过程中必须的,编译器会根据该宏定义,再定义其他的宏定义或者开启一起只有高容量芯片才会存在的功能和外设。 2. USE_STDPERIPH_DRIVER 去掉该宏定义后,编译报错,都是说一些未定义之类的错误,如下图。 我们在程序中找到这个宏定义的位置如下: 发现该宏定义的作用就是包含一个头文件,我们继续来看这个头文件 : 发现它就是包含了一下系统库函数的头文件,当我们没包含这些头文件的时候,就会未定义的错误。 这里需要说明一下, Main 函数中我们没有手动添加包含任何系统库函数的头文件。所以该宏定义的主要作用就很明显了。我们在工程总需要什么头文件,我们在 stm32f10x_con.h 中将它不注释掉就可以了。