新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 關于 stm32f10x_conf.h 在外設V3.4版本的是使用說明

        關于 stm32f10x_conf.h 在外設V3.4版本的是使用說明

        作者: 時間:2016-11-17 來源:網絡 收藏
        先說這個問題,大家都知道,我們在選擇使用哪些外圍的的時候,是去更改從官方模版中拷貝過來的stm32f10x_conf.h文件的27-48行,把我們要用的外圍的頭文件包含進來,不用的外圍的頭文件注釋掉,但是你是否發現我們根本沒有在用戶主程序文件中包含stm32f10x_conf.h這個文件。那我們的修改這個文件怎么進入主程序文件的呢?答案只有一個,它包含在stm32f10x.h這個文件中,因為在用戶主文件中我們第一句就使用了#include"stm32f10x.h",所以應該是stm32f10x.h這個文件包含了stm32f10x_conf.h,間接的包含進了用戶主程序文件中。(其實大家去看看固件庫的文件結構圖就明白了確實是這樣,我們推測是對的,參見下圖1)

        圖1. STM32F10xxx標準外設庫體系結構

        本文引用地址:http://www.104case.com/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開發環境(C/C++預設置窗口)

          3. 大家肯定看見上面標記預設置區我還加入了另一個標記STM32F10X_HD,是因為大家會發現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




        評論


        技術專區

        關閉
        主站蜘蛛池模板: 太原市| 溆浦县| 洞头县| 墨脱县| 宾川县| 冷水江市| 徐汇区| 库车县| 巴东县| 海晏县| 汤原县| 衢州市| 陆河县| 新蔡县| 绵阳市| 郧西县| 临清市| 马鞍山市| 西昌市| 安化县| 阿图什市| 吉木萨尔县| 东丰县| 克拉玛依市| 南开区| 平乐县| 丹东市| 施秉县| 平阴县| 莱州市| 乌鲁木齐县| 三亚市| 大同县| 林周县| 鲜城| 池州市| 德钦县| 临泽县| 霍林郭勒市| 姚安县| 海淀区|