新聞中心

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

stm32f10x_conf.h 與 stm32f10x.h

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

1、device選擇

本文引用地址:http://m.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的開始處,根據所用的器件 取消合適的注釋。我常用的是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 互聯型的device,用到此器件外部要選用25MHz的晶體,由于前面的代買沒有取消 的注釋,所以此處默認的外部8MHz的晶體

3、外設宏定義USE_STDPERIPH_DRIVER

#if !defined USE_STDPERIPH_DRIVER

#endif

如果不適用片內外設,則不要取消 的注釋

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

#ifdef USE_STDPERIPH_DRIVER

#include "stm32f10x_conf.h"

#endif

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

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




評論


技術專區(qū)

關閉