STM32F10X系列微控制器標準外設(shè)庫的應用
7)向各工作組添加文件,將core_cm3.c、system_stm32f10x.c添加到CMSIS;將startup_stm32f10x_hd.s添加到EVARM;將misc.c、stm32f10x_rcc.c及所需其它外設(shè)驅(qū)動源文件添加到StdPeriph_Driver;將main.c、stm32f10x_it.c添加到User;
8)在Project→options→C/C++Compiler→Preprocessor中設(shè)置、添加編譯搜索路徑,最好包括所有項目中所調(diào)用文件的路徑,否則需要在源文件中給出被調(diào)文件的完整路徑;
9)在Project→options→Ceneral Options→Target標簽頁選擇相應器件;
10)勾選Project→Options→General Options→Library Configuration→Use CMSIS選項;
11)在stm32f10x.h文件中配置控制器啟動文件,根據(jù)所選用產(chǎn)品系列,去掉相應注釋即可,如令#defineSTM32F10X_HD有意義;同時,去掉/*#define USE_STDPERIPH_DRIVER*/的注釋,表示使用標準外設(shè)庫;
12)選擇使用HSI或HSE,system_stm32f10x.c中相關(guān)程序代碼段如下:
在不進行任何改動情況下,系統(tǒng)默認使用HIS作為系統(tǒng)時鐘,如使用HSE作為系統(tǒng)時鐘,則需將/*#define SYSCLK_FREQ_HSE HSE_VALU E*/的注釋去掉,屏蔽HSI頻率定義項,同時根據(jù)所用外部晶振頻率在stm32f10x.h中重新定義HSE_VALUE的數(shù)值。
13)對main.c文件內(nèi)容進行修改,但須保留#include“stm32f10x.h”,編譯、連接項目文件后生成可執(zhí)行代碼;
14)在仿真器編譯環(huán)境下,進行系統(tǒng)調(diào)試。
4 應用實例
采用STM32F103VET6微控制器實現(xiàn)LCD顯示器的各種操作,LCD顯示器采用北京寧和公司的480×234TFT256色顯示器,配套控制器為NHC_ 36。微控制器PD口高8位作為數(shù)據(jù)口,PB15、PB14、PC6、PC7、PC8分別作為A0、WR、A1、CS、RD的控制信號,當PBO引腳電平在下降沿時觸發(fā)外部中斷線0中斷,在顯示器上繪制一條直線。建立項目步驟如3所述,將中斷函數(shù)設(shè)置在主程序文件中,使用HSE為系統(tǒng)時鐘,本文且未對LCD操作函數(shù)進行說明,僅給出利用標準外設(shè)庫進行端口及中斷設(shè)置的代碼。
微控制器I/O口配置程序代碼如下:
為了將PB0配置為中斷輸入且中斷有效,須開啟PB口I/O時鐘及AFIO時鐘,中斷配置代碼如下:
評論