|
本帖最后由 lianyiqun 于 2015-7-8 21:46 編輯
首先我們看看寫在前面的一些知識點,所謂的vl,md,hd就是對外設而言的一些遞增,越高的越多外設,比如USART在hd中有3個,在md中只有兩個。
1、我們看看stm32f10x.h
- #if !defined (STM32F10X_LD)&& !defined (STM32F10X_MD) && !defined(STM32F10X_HD) && !defined (STM32F10X_CL)
- #define STM32F10X_HD
- #endif
這其中有注釋掉了的號碼在這個文本框中被新浪博客自動隱藏了,可以去產看stm32f10x.h對應行的內容
這段代碼其實就是說,沒有在KEIL中宏定義的話就按照 #defineSTM32F10X_HD進行,其實我們主要是更換103系列芯片的時候主要是修改stm32f10x.h中的選型,就不用再去keil中定義STM32F10X_HD了,這也為下面的[size=11.818181991577148px]system_stm32f10x.c選好型了
2、stm32f10x.h
再就是根據不同的芯片密度型號來宏定義晶振,宏定義中斷向量表,還有定義u8,u16,u32等等這些常用的,當然uint16_t這些是在stdint.h中定義得到的。
3,再就是所有的用到的寄存器的地址的指定的宏定義,這個我們多半是不用管的了
4、最后就是
#ifdefUSE_STDPERIPH_DRIVER
#include "stm32f10x_conf.h"
#endif
但是再這之前這個stm32f10x.h已經中已經默認了USE_STDPERIPH_DRIVER,故有
#include"stm32f10x_conf.h"這個重要的包含,它的意思就是包含普通常見外設的.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" 等等
|
|