關(guān)于 stm32f10x_conf.h 在外設V3.4版本的是使用說明
圖1. STM32F10xxx標準外設庫體系結(jié)構(gòu)
本文引用地址:http://m.butianyuan.cn/article/201611/315430.htm 2. 有了上面的認識我們打開stm32f10x_conf.h中搜索“stm32f10x_conf.h”,我們在8291-8293行看見這么幾句代碼:
#ifdef USE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
大家看到問題所在了吧?這個條件編譯就是說:如果定義了USE_STDPERIPH_DRIVER標記,那么就包含stm32f10x_conf.h,沒有定義就不包含。那不用說了,我們想使用固件庫,所以就應該預定義USE_STDPERIPH_DRIVER這個標記,KEIL提供了編譯前預定義標記的辦法,就是上面提到的在項目設置“option for targe”=>“C/C++”標簽=>“define”處加USE_STDPERIPH_DRIVER。如下圖2所示:
圖2. Keil開發(fā)環(huán)境(C/C++預設置窗口)
3. 大家肯定看見上面標記預設置區(qū)我還加入了另一個標記STM32F10X_HD,是因為大家會發(fā)現(xiàn)49-58行:需要我們指定期間的型號
#if !defined (STM32F10X_LD) && !defined (STM32F10X_LD_VL) && !defined (STM32F10X_MD) && !defined (STM32F10X_MD_VL) && !defined (STM32F10X_HD) && !defined (STM32F10X_HD_VL) && !defined (STM32F10X_XL) && !defined (STM32F10X_CL)
/* #define STM32F10X_LD */ /*!< STM32F10X_LD: STM32 Low density devices */
/* #define STM32F10X_LD_VL */ /*!< STM32F10X_LD_VL: STM32 Low density Value Line devices */
/* #define STM32F10X_MD */ /*!< STM32F10X_MD: STM32 Medium density devices */
/* #define STM32F10X_MD_VL */ /*!< STM32F10X_MD_VL: STM32 Medium density Value Line devices */
/* #define STM32F10X_HD */ /*!< STM32F10X_HD: STM32 High density devices */
/* #define STM32F10X_HD_VL */ /*!< STM32F10X_HD_VL: STM32 High density value line devices */
/* #define STM32F10X_XL */ /*!< STM32F10X_XL: STM32 XL-density devices */
/* #define STM32F10X_CL */ /*!< STM32F10X_CL: STM32 Connectivity line devices */
#endif
評論