版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、如何使用STM32_V3.5版本固件庫在Keil4下建立工程模板準備工作如下:1. 下載STM32F10x_StdPeriph_Lib_V3.5.0固件庫。2. 下載并安裝好Keil uVision V4.10(MDK4)開始:1. 首先解壓STM32F10x_StdPeriph_Lib_V3.5.0固件庫。PS:保留一個備份,你懂的。解壓得到如圖1所示的幾個文件夾。其中_htmresc文件夾:里面是ST的Logo圖片,沒有多大用,可以刪除。Libraries文件夾:是比較重要的文件 包含STM32的系統(tǒng)文件和大量頭文件,即庫文件。Project文件夾:里面為STM32F10x的例程和工程模板
2、。Keil對應的就是 MDK-ARM 文件下的工程模板。也可以利用這個工程模板為原型建立自己的工程模板本文不用此法。Utilities文件夾:里面有一些實用程序,也沒多大用,可刪除。Release_Notes.html:版本注視,可刪除。stm32f10x_stdperiph_lib_um.chm:幫助文件,你懂的。2. 為了項目程序中的各部分條理清晰,我們建議工程文件夾時對其子目錄子下歸類建立子文件夾,例建立一個工程文件夾My Project,在其下在創(chuàng)建五個子文件夾如圖2所示:其中:CMSIS文件夾:此文件夾從STM32F10x_StdPeriph_Lib_V3.5.0固件庫中的CMSIS
3、文件夾直接復制過來。Libraries文件夾:此文件夾從STM32F10x_StdPeriph_Lib_V3.5.0固件庫中的Libraries文件夾復制過來。只保留當中的inc和src文件夾。即只包含頭文件。Startup文件夾:此文件夾從CMSISCM3DeviceSupportSTSTM32F10xStartup目錄下直接將Startup文件剪切出來。其中放置的是啟動代碼,具體的代碼根據(jù)所用芯片的容量選擇,我們用的STM32F103C8為中等容量芯片,故選擇其中的startup_stm32f10x_md.s啟動代碼,其他不用的可以刪除User文件夾:User文件夾為用戶的應用程序,其中包
4、括main.c ,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h四個文件,這四個文件可從V3.5.0固件庫ProjectSTM32F10x_StdPeriph_Template目錄下復制過來,當然main.c文件中的內(nèi)容可刪除。Project文件夾 :此文件夾用來存放項目文件。比如你等下要建立的工程名字My Program.uvproj,就放在這里。 在該文件下存放一些項目的輸出信息,OUTPUT,和LISTING信息,可以建立這兩個文件夾,之后就可以在OPTIONS FOR TARGET 'PROJECT' 里面進行路徑設置。3.
5、 打開Keil4軟件,在Project菜單下選擇New uVision Project新建新的項目,鍵入新的項目名稱如My Program,保存到剛才的Project文件夾下面。4. 選擇芯片類型,根據(jù)實際情況選擇芯片類型,我們在這里選擇STM32F103c8,確定后彈出一個窗口詢問是否復制啟動代碼,選擇“否”,如圖所示。這時新的項目工程就建立了。5. 這時點擊如圖所示的圖標。彈出如下窗口:可根據(jù)實際需要添加相應的文件,如圖所示:添加完后Project區(qū)域的樹形結構如圖所示:6. 接下來要設置設置目標選項,點圖標進入Target Option界面如圖所示,在上面設置晶振的實際時鐘頻率,我們所用
6、的時鐘為8.00MHz。選擇Output項進行如圖所示設置。點擊Listing選項,并配置Listing文件的所在路徑為Projet下的Listing文件夾。接下來配置編譯器的路徑,設置如圖所示:在“ C/C+ ” 選項中我們可以加入預定義的宏, 這里請一定加入USE_STDPERIPH_DRIVER,STM32F10X_MD 這兩個宏。另外,我們在下面的“Include Paths”框中可以填入我們.h 文件所在的目錄,如“.Lib;.Libinc;.User”,方便編譯器搜索頭文件定義。如果現(xiàn)在編譯,還是有錯誤的??梢韵染幾g下,因為main.c中有頭文件#include "stm
7、32f10x.h"這句,在這個重要的頭文件里,并沒有定義好一些東西,分別在stm32f10x.h文件中取消對 #define STM32F10X_MD和#define USE_STDPERIPH_DRIVER的屏蔽,這兩個定義好,才能正常工作,第一個是選擇存儲容量的型號,每種芯片都不太一樣,所以讓你選擇,第二個是使用標準庫文件,因為我們是要用庫的,所以必須選擇,默認是不用庫的,直接進行寄存器的操作。也可以直接如下圖操作。在Define中添加USE_STDPERIPH_DRIVER,STM32F10X_MD作用是一樣的。選擇好后,直接編譯,恭喜你,成功了。最后要說明的就是:圖4這個庫文
8、件,是必須選擇misc.c 和stm32f10x_rcc.c的。另外就是你選擇用什么功能,就把什么功能的c文件加進去,我這里已經(jīng)加了一個對IO口的應用的一個c文件。5:一些重要文件的說明吧core_cm3.c/core_cm3.h 該文件是內(nèi)核訪問層的源文件和頭文件,查看其中的代碼多半是使用匯編語言編寫的。stm32f10x.h 該文件是外設訪問層的頭文件,該文件是最重要的頭文件之一。例如向量等等。除了這些該頭文件還定義了和外設寄存器相關的結構體,如:typedef struct _IO uint32_t CRL; _IO uint32_t CRH; _IO uint32_t IDR; _IO
9、 uint32_t ODR; _IO uint32_t BSRR; _IO uint32_t BRR; _IO uint32_t LCKR; GPIO_TypeDef; 包含了那么多寄存器的定義,那么在應用文件中(例如自己編寫的 main 源文件)只需要包含stm32f10x.h即可。在stm32f10x.h 8296行#ifdef USE_STDPERIPH_DRIVERi nclude "stm32f10x_conf.h"#endif這里定義了 i nclude "stm32f10x_conf.h"system_stm32f10x.c/h 該頭文件也
10、可以稱為外設訪問層的頭文件和源文件。在該文件中可以定義系統(tǒng)的時鐘頻率,定義低速時鐘總線和高速時鐘總線的頻率,其中最關鍵的函數(shù)就是 SystemInit()了,這個后面會詳細介紹??傊@兩個文件是新固件庫V3.5的重點,有了它糧也大大簡化了使用 stm32的初始化工作。 stm32f10x_conf.h 這個文件和 V2 版本的庫的內(nèi)容是一樣的,需要使用哪些外設就取消哪些外設的注釋。stm32f10x_it.c/h 這兩個文件包含了 stm32中斷函數(shù),在源文件和頭文件中并沒有把所有的中斷入口函數(shù)都寫出來,而只寫了 ARM內(nèi)核的幾個異常中斷,其他的中斷函數(shù)需要用戶自己編寫。stm32f10x_i
11、t.c的最后給了這樣一個模板。/*/ /* STM32F10x Peripherals Interrupt Handlers */ /* Add here the Interrupt Handler for the used peripheral(s) (PPP), for the */ /* available peripheral interrupt handler's name please refer to the startup */ /* file (startup_stm32f10x_xx.s). */ /* * brief This handles PPP interr
12、upt request. * param None * retval None */ /*void PPP_IRQHandler(void) */ 從注釋中的英文提示可以看出,中斷向量的名稱可以從相應的啟動代碼中找出,例如可以startup_stm32f10x_md.s 中找到 USART1 中斷函數(shù)的名稱USART1_IRQHandler。其他的中斷函名可以以此類推,一一獲得,在這里我就不一一復述了。 Libraries文件夾 該文件夾有包含兩個文件夾,一個是 src文件夾,另一個是 inc文件夾,顧名思義,一個里面放的是元件一個里面放的是頭文件。這兩個文件夾包含了所有的 STM32 的外設驅(qū)動函數(shù),其實和 V2 版本也
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 平底鞋產(chǎn)品供應鏈分析
- 借助電視播放信息行業(yè)營銷策略方案
- 農(nóng)場出租行業(yè)市場調(diào)研分析報告
- 辦公機器和設備的修理行業(yè)市場調(diào)研分析報告
- 專四英語語法句子成分分析
- 出租電子書閱讀器行業(yè)經(jīng)營分析報告
- 裁縫用人體模型細分市場深度研究報告
- 博物館藝術品的復制行業(yè)營銷策略方案
- 糖漿罐市場分析及投資價值研究報告
- 勞動爭議調(diào)解與仲裁法律服務行業(yè)營銷策略方案
- 2024年新華社招聘筆試參考題庫附帶答案詳解
- 2024年全國統(tǒng)一高考數(shù)學試卷(新高考Ⅱ)含答案
- 2024年中小學學生防范電信網(wǎng)絡詐騙知識競賽題庫及答案
- (正式版)QBT 8027-2024 家用和類似用途電動洗鞋烘鞋機
- 數(shù)字化時代背景下教師角色的思考
- 護照加急辦理申請
- 乙炔的理化性質(zhì)及危險特性表
- 汽車場地越野賽突發(fā)事件應急預案
- 神奇的世界文檔
- 頭痛的鑒別診斷--ppt課件完整版
- 某糧食倉庫屋面預應力拱板制作分項施工方案(附圖)
評論
0/150
提交評論