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