新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > stm32f10x_conf.h 與 stm32f10x.h

stm32f10x_conf.h 與 stm32f10x.h

作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
新版的固件庫V3.0以上 main等源文件中不再直接包含stm32f10x_conf.h,而是stm32f10x.h,stm32f10x.h則定義了啟動設(shè)置,以及所有寄存器宏定義,此文件中需要注意的有:

1、device選擇

本文引用地址:http://butianyuan.cn/article/201611/320683.htm

#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_MD

#endif

此段代碼在stm32f10x.h的開始處,根據(jù)所用的器件 取消合適的注釋。我常用的是stm32f103c8t6 屬于Medium density Value Line devices.

2、外部時鐘頻率選擇

#if !defined HSE_VALUE

#ifdef STM32F10X_CL

#define HSE_VALUE ((uint32_t)25000000)

#else

#define HSE_VALUE ((uint32_t)8000000)

#endif

#endif

注意STM32F10X_CL,STM32F10X_CL是stm32f105 和stm32f107 互聯(lián)型的device,用到此器件外部要選用25MHz的晶體,由于前面的代買沒有取消 的注釋,所以此處默認(rèn)的外部8MHz的晶體

3、外設(shè)宏定義USE_STDPERIPH_DRIVER

#if !defined USE_STDPERIPH_DRIVER

#endif

如果不適用片內(nèi)外設(shè),則不要取消 的注釋

注意stm32f10x.h文件的最后有這樣的代碼:

#ifdef USE_STDPERIPH_DRIVER

#include "stm32f10x_conf.h"

#endif

stm32f10x_conf.h中包含了所有外設(shè)的頭文件,因此任意源文件只要包含了stm32f10x.h,就可以在源文件調(diào)用任意外設(shè)的函數(shù)。

若有外設(shè)為使用到,在stm32f10x_conf.h注釋相應(yīng)部分,項目編譯時就不會在編譯去掉的外設(shè)。




關(guān)鍵詞: stm32f10x_confhstm32f10

評論


技術(shù)專區(qū)

關(guān)閉