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中将它不注释掉就可以了。
用户1724500 2014-9-5 17:39
1634090993_696409884 2014-9-2 21:34
用户1724500 2014-9-1 21:05
用户451825 2014-9-1 17:27
用户377235 2014-8-28 11:36
用户438639 2014-8-27 10:37
用户377235 2014-8-27 09:38
用户377235 2014-8-26 23:28
用户1777767 2014-8-26 20:45