標(biāo)題:
關(guān)于stm32f103高density flash的stm32f10x.h的分析
[打印本頁]
作者:
lianyiqun
時(shí)間:
2015-7-8 21:44
標(biāo)題:
關(guān)于stm32f103高density flash的stm32f10x.h的分析
本帖最后由 lianyiqun 于 2015-7-8 21:46 編輯
首先我們看看寫在前面的一些知識(shí)點(diǎn),所謂的vl,md,hd就是對外設(shè)而言的一些遞增,越高的越多外設(shè),比如USART在hd中有3個(gè),在md中只有兩個(gè)。
1、我們看看stm32f10x.h
#if !defined (STM32F10X_LD)&& !defined (STM32F10X_MD) && !defined(STM32F10X_HD) && !defined (STM32F10X_CL)
#define STM32F10X_HD
#endif
這其中有注釋掉了的號(hào)碼在這個(gè)文本框中被新浪博客自動(dòng)隱藏了,可以去產(chǎn)看stm32f10x.h對應(yīng)行的內(nèi)容
這段代碼其實(shí)就是說,沒有在KEIL中宏定義的話就按照 #defineSTM32F10X_HD進(jìn)行,其實(shí)我們主要是更換103系列芯片的時(shí)候主要是修改
stm32f10x.h中的選型,就不用再去keil中定義
STM32F10X_HD
了,這也為下面的
[size=11.818181991577148px]system_stm32f10x.c選好型了
2、stm32f10x.h
再就是根據(jù)不同的芯片密度型號(hào)來宏定義晶振,宏定義中斷向量表,還有定義u8,u16,u32等等這些常用的,當(dāng)然uint16_t這些是在stdint.h中定義得到的。
3,再就是所有的用到的寄存器的地址的指定的宏定義,這個(gè)我們多半是不用管的了
4、最后就是
#ifdefUSE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
但是再這之前這個(gè)stm32f10x.h已經(jīng)中已經(jīng)默認(rèn)了USE_STDPERIPH_DRIVER,故有
#include"stm32f10x_conf.h"這個(gè)重要的包含,它的意思就是包含普通常見外設(shè)的.h例如
#include"stm32f10x_gpio.h"
#include "stm32f10x_i2c.h"
#include "stm32f10x_iwdg.h"
#include "stm32f10x_pwr.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_rtc.h" 等等
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1