|
本帖最后由 lianyiqun 于 2015-7-8 21:46 編輯
首先我們看看寫(xiě)在前面的一些知識(shí)點(diǎn),所謂的vl,md,hd就是對(duì)外設(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對(duì)應(yīng)行的內(nèi)容
這段代碼其實(shí)就是說(shuō),沒(méi)有在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)來(lái)宏定義晶振,宏定義中斷向量表,還有定義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è)重要的包含,它的意思就是包含普通常見(jiàn)外設(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" 等等
|
|