问题详解1 关于STM32 StartUp启动代码文件的选择启动代码文件名 | | | 互联型的器件,STM32F105xx,STM32F107xx | | 大容量的STM32F101xx,STM32F102xx,STM32F103xx | startup_stm32f10x_hd_vl.s | | | 小容量的STM32F101xx,STM32F102xx,STM32F103xx | startup_stm32f10x_ld_vl.s | | | 中容量的STM32F101xx,STM32F102xx,STM32F103xx | startup_stm32f10x_md_vl.s | | | FLASH在512K到1024K字节的STM32F101xx,STM32F102xx,STM32F103xx |
2 宏定义USE_STDPERIPH_DRIVER定义USE_STDPERIPH_DRIVER则说明该工程将使用STM32固件库中标准的外设库函数。 stm32f10x_conf.h中涵盖了STM32中的所有标准外设,而stm32f10x_conf.h又被stm32f10x.h包含。stm32f10x.h中包含stm32f10x_conf.h的代码如下: #ifdef USE_STDPERIPH_DRIVER #include "stm32f10x_conf.h" #endif 3 常见问题分析Ø 没有宏定义USE_STDPERIPH_DRIVER 没有宏定义USE_STDPERIPH_DRIVER,则stm32f10x_conf.h便不会被包含,则不可以使用STM32固件库中关于标准外设的库函数。 Ø 宏定义USE_STDPERIPH_DRIVER,但没有将stm32f10x_conf.h引入工程 宏定义USE_STDPERIPH_DRIVER,则stm32f10x_conf.h会被包含,但是此时包含的stm32f10x_conf.h不是STM32固件库中的头文件,而是Keil安装目录下的stm32f10x_conf.h,但是该文件中会引用stm32f10x_type.h,其中定义了类型会与stm32f10x.h中类型定义冲突。 4 宏定义STM32F10X_MD定义STM32F10X_MD表示使用中容量的STM32F101xx,STM32F102xx,STM32F103xx。
|