下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1:下載STM32_V3.5的固件庫去論壇上找,很多2:準(zhǔn)備KeiluVision4軟件,并安裝到電腦上。3:不要帶板凳了,帶上你的腦袋就行,因?yàn)榘宓什粫?huì)思考。開始:1:首先解壓縮下載的固件庫(保留一個(gè)備份,你懂的)里面有,_htmresc:ST的logo完全無用,不用理會(huì),Libraries:比較重要的文件包含STM32的系統(tǒng)文件和大量頭文件,也就是庫文件了。Project:包含大量外設(shè)的例程,和各個(gè)軟件版本的評(píng)估版工程模板。KEIL對(duì)應(yīng)的就是MDK-ARM文件下的工程模板。你也可以利用這個(gè)工程模板來修改,得到你自己的工程模塊,本文不用此法。Utilities:就是評(píng)估版的相關(guān)文件:本文也不
2、會(huì)用到,無視既可。這四個(gè)文件,(先去掉文件的只讀屬性吧,相信你會(huì)的)2:安照一般的方法,建立工程模板先建立一些文件夾,比如工程模板要建在D盤,下面的D:STM32PROK項(xiàng)目名字,自己隨便定)再該文件夾下面新建以下文件夾Libraries:直接復(fù)制上述的的Libraries文件夾,把其中的CMSIS剪切出來,放到PRO1目錄下,直接成為另一個(gè)文件夾。另外把STM32F10 x_StdPeriph_Driver下的inc和src文件夾剪切出來,放在Libraries目錄下,STM32F10 x_StdPeriph_Driver文件夾就可以刪除了。會(huì)發(fā)現(xiàn)里面就只剩下頭文件了。CMSIS:就是從上面
3、粘貼來的。在CMSISCM3DeviceSupportSTSTM32F10 x目錄下直接將Startup文件剪切出來,放在Libraries目錄下,其他的不需要?jiǎng)?。里面存放的就是重要的系統(tǒng)文件,先不要理會(huì)是什么作用吧,慢慢就明白了。Startup就是從上面粘貼來的。我們要用的比如是:STM32F103VC,只要把startuparm目錄下的startup_stm32f10 x_hd.s文件剪切出來,放到Startup下面就好。Startup只要這個(gè)文件,其它全刪吧。這個(gè)就是啟動(dòng)文件,根據(jù)芯片存儲(chǔ)容量來選擇。USER:請(qǐng)?jiān)诶锩娣艂€(gè)main.c的文件,里面就一個(gè)WHILE(1)循環(huán)就好,但請(qǐng)加上這
4、個(gè)頭文件:includestm32f10 x.h.另外從固件庫ProjectSTM32F10 x_StdPeriph_Templat目錄下復(fù)制stm32f10 x_conf.htm32f10 x_it.cs,tm32f10 x_it.h。四這個(gè)h文件是Libraries里面沒有的,理論上要自己寫好的,但是固件庫里有就直接復(fù)制吧,呵呵。另外你還發(fā)現(xiàn)那個(gè)目錄下有個(gè)system_stm32f10 x.c文件,有人問,這個(gè)怎么不一起復(fù)制了,很簡(jiǎn)單,因?yàn)镃MSIS這個(gè)文件夾里面已經(jīng)有了,個(gè)人認(rèn)為還是放在這里比較好,因?yàn)槭窍到y(tǒng)文件。Project:這個(gè)文件夾用來存放項(xiàng)目文件。比如你等下要建立的工程名字TE
5、ST.uvproj,就放在這里。在該文件下存放一些項(xiàng)目的輸出信息,OUTPUT,和LISTING信息,可以建立這兩個(gè)文件夾。等下就可以在OPTIONSFORTARGETPROJECT里面進(jìn)行路徑設(shè)置。文件夾分配到此結(jié)束,為什么要這么分配文件夾呢,其實(shí)是個(gè)人理解的問題,我這樣的目的是為了比較清楚,也符合一般程序員的設(shè)置方法。等你了解了,隨便安排文件下都可以。下面開始建立工程模板。3:打開KEIL軟件,建立新工程。比如建TEST.uvproj,保存在剛才的Project文件夾下面。選擇你使用的STM32芯片,比如我用的是103VC的,就選擇那個(gè),確定后,會(huì)跳出來個(gè)窗口,問你是否復(fù)制啟動(dòng)代碼,選擇否
6、,因?yàn)槲覀円呀?jīng)弄好了,前面的準(zhǔn)備工作不是白做的。然后右鍵TARGET1,選擇ManageCcmponents,把文件給加進(jìn)去吧。來圖片了:加好文件后,出現(xiàn)如下的文件架構(gòu)。(按下圖加文件吧,每個(gè)文件都在相應(yīng)的文件夾里,前面的工作不是白做的。)幫nb_2fLB331:IOK_pq2sfULiGSklOKi-cccLUI2CC!p!駝幫22|ZGLU-2FLU3S|.JOXE聲匚dkG-CUUaC幫SFUJGSLJDX-iFc率UU9IUCgi-OngEtJ:-注觀tlbLOJGCl:接下來要設(shè)置編譯文件的路徑,設(shè)置好后如下圖:現(xiàn)在編譯,還是有錯(cuò)誤的。可以先編譯下,因?yàn)閙ain.c中有#includ
7、estm32f10 x.h這句,在這個(gè)重要的頭文件里,并沒有定義好一些東西,分別在stm32f10 x.h的0070行,取消對(duì)#defineSTM32F10X_HD的屏蔽,0105行取消對(duì)#defineUSE_STDPERIPH_DRIVER的屏蔽,這兩個(gè)定義好,才能正常工作,第一個(gè)是選擇存儲(chǔ)容量的型號(hào),每種芯片都不太一樣,所以讓你選擇,第二個(gè)是使用標(biāo)準(zhǔn)庫文件,因?yàn)槲覀兪且脦斓?,所以必須選擇,默認(rèn)是不用庫的,直接進(jìn)行寄存器的操作。像初學(xué)者是用庫比較好,所以肯定選擇的。也可以直接如下圖操作。,作用是一樣的。選擇好后,直接編譯,恭喜你,成功了。4:最后要說明的就是:+:l:4jepujgsi.j
8、ox-abiDc+:零科山3寶丁口工-“匚匸+:気LUI2E匚-?廠矣npkgikiGSI1.這個(gè)庫文件,是必須選擇misc.c和stm32f10 x_rcc.c的。另外就是你選擇用什么功能,就把什么功能的C文件加進(jìn)去,我這里已經(jīng)加了一個(gè)對(duì)10口的應(yīng)用的一個(gè)c文件。5:一些重要文件的說明吧Core_Cm3.C/Core_Cm3.h該文件是內(nèi)核訪問層的源文件和頭文件,查看其中的代碼多半是使用匯編語言編寫的。stm32f10 x.h該文件是外設(shè)訪問層的頭文件,該文件是最重要的頭文件之一。例如向量等等。除了這些該頭文件還定義了和外設(shè)寄存器相關(guān)的結(jié)構(gòu)體,如:typedefstruCt_I0uint32
9、_tCRL;_I0uint32_tCRH;_I0uint32_tIDR;_I0uint32_t0DR;_I0uint32_tBSRR;_I0uint32_tBRR;_I0uint32_tLCKR;GPI0_TypeDef;包含了那么多寄存器的定義,那么在應(yīng)用文件中(例如自己編寫的main源文件)只需要包含stm32f10 x.h即可。在stm32f10 x.h8296行#ifdefUSE_STDPERIPH_DRIVERincludestm32f10 x_conf.h#endif這里定義了includestm32f10 x_conf.hsystem_stm32f10 x.c/h該頭文件也可以稱
10、為外設(shè)訪問層的頭文件和源文件。在該文件中可以定義系統(tǒng)的時(shí)鐘頻率,定義低速時(shí)鐘總線和高速時(shí)鐘總線的頻率,其中最關(guān)鍵的函數(shù)就是Systemlnit()了,這個(gè)后面會(huì)詳細(xì)介紹??傊@兩個(gè)文件是新固件庫V3.5的重點(diǎn),有了它糧也大大簡(jiǎn)化了使用stm32的初始化工作。stm32f10 x_conf.h這個(gè)文件和V2版本的庫的內(nèi)容是一樣的,需要使用哪些外設(shè)就取消哪些外設(shè)的注釋。stm32f10 x_it.c/h這兩個(gè)文件包含了stm32中斷函數(shù),在源文件和頭文件中并沒有把所有的中斷入口函數(shù)都寫出來,而只寫了ARM內(nèi)核的幾個(gè)異常中斷,其他的中斷函數(shù)需要用戶自己編寫。stm32f10 x_it.c的最后給了這
11、樣一個(gè)模板。/*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*!*/*STM32F10 xPeripheralsInterruptHandlers*/*AddheretheInterruptHandlerfortheusedperipheral(s)(PPP),forthe*/*availableperipheralinterrupthandlersnameple
12、aserefertothestartup*/*file(startup_stm32f10 x_xx.s).*/*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*1*/*briefThishandlesPPPinterruptrequest.paramNoneretvalNone*/*voidPPP_IRQHandler(void)*/從注釋中的英文提示可以看出,中斷向量的名稱可以從相應(yīng)的啟動(dòng)代碼中找出,例如可以startup_stm32fl0 x_md.s中找到USART1中斷函數(shù)的名稱USARTl_IRQHandler。其他的中斷函名可以以此類推,一一獲得,在這里我就不一一復(fù)述了。Libraries文件夾該文件夾有包含兩個(gè)文件夾,一個(gè)是src文件夾,另一個(gè)是inc文件夾,顧名思義,一個(gè)里面放的是元件一個(gè)里面放的是頭文件。這兩個(gè)文件夾包含了所有的ST
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 美麗的教育讀書筆記,《美麗的教育》讀書心得5篇
- 家電銷售工作計(jì)劃
- 環(huán)保設(shè)備制造有限公司節(jié)能環(huán)保設(shè)備技改項(xiàng)目可行性研究報(bào)告
- 短視頻APP用戶多種需求調(diào)查
- 父親在女兒婚禮上講話稿精彩范文8篇
- 請(qǐng)大家嚴(yán)格按照合同范本執(zhí)行
- 愛眼護(hù)眼教師講話稿5篇
- 醫(yī)療自建房施工承包合同
- 機(jī)場(chǎng)行李車司機(jī)聘用協(xié)議
- 初中物理《生活用電》單元設(shè)計(jì)教案
- DL∕T 1764-2017 電力用戶有序用電價(jià)值評(píng)估技術(shù)導(dǎo)則
- 四年級(jí)上冊(cè)英語教案-UNIT FOUR REVISION lesson 14 北京版
- YDT 4565-2023物聯(lián)網(wǎng)安全態(tài)勢(shì)感知技術(shù)要求
- 幼兒園故事繪本《賣火柴的小女孩兒》課件
- 【工商企業(yè)管理專業(yè)實(shí)操實(shí)訓(xùn)報(bào)告2600字(論文)】
- HJ 636-2012 水質(zhì) 總氮的測(cè)定 堿性過硫酸鉀消解紫外分光光度法
- 主播薪資核算方案
- 機(jī)電儀運(yùn)維中心巡檢工作提升方案
- 10以內(nèi)口算題每頁50道
- 大學(xué)生職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)(高校學(xué)生學(xué)習(xí)職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)課程)全套教學(xué)課件
- 《道德與法治》三年級(jí)學(xué)情分析
評(píng)論
0/150
提交評(píng)論