版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
項目4STM32知識基礎(chǔ)任務(wù)目標(biāo)1、學(xué)會并掌握STM32F40X的基礎(chǔ)架構(gòu)、時鐘系統(tǒng)、庫函數(shù)等2、學(xué)會KeilMDKARM軟件的使用。4.1STM32F40x系列芯片的系統(tǒng)架構(gòu)及總線STM32F40x系列芯片的總線結(jié)構(gòu)見圖4-1,該總線結(jié)構(gòu)是一個“CPU+外設(shè)”的系統(tǒng)。圖4-1STM32F40x系列芯片的總線結(jié)構(gòu)4.1STM32F40x系列芯片的系統(tǒng)架構(gòu)及總線原理上來說,除Cortex-M3內(nèi)核以及相關(guān)總線之外的單元,均可以被稱為外設(shè)(Peripherals),如通用輸入輸出端口(GeneralPurposeInput/OutputPort,GPIO)、數(shù)模轉(zhuǎn)換器(Analog-to-DigitalConverter,ADC)、通用同步/異步串行接收/發(fā)送器(UniversalSynchronous/AsynchronousReceiver/Transmitter,USART/UART)、定時器(Timer,TIM)、閃存(FLASH)、直接內(nèi)存訪問(DirectMemoryAccess,DMA)等。要使用相關(guān)外設(shè),需要對外設(shè)相關(guān)的寄存器進(jìn)行正確的配置,而后面要介紹的標(biāo)準(zhǔn)可,在配置寄存器方面具備很大的便利,減輕了學(xué)習(xí)者的工作量,降低了入門臺階。STM32內(nèi)核可通過AHB總線、AHB/APB橋控制外設(shè),也可以通過DMA模塊,直接操作或讀取外設(shè)。4.2STM32F40x系列芯片的時鐘系統(tǒng)時鐘電路主要給CortexM3內(nèi)核及外設(shè)提供時鐘信號,時鐘信號對ARM就像心跳對人一樣重要。ARM內(nèi)部都是由許多諸如觸發(fā)器等構(gòu)成的時序邏輯電路組成的,只有通過時鐘才能驅(qū)動ARM一步步地工作。如果沒有時鐘信號,觸發(fā)器的狀態(tài)就不能改變,相應(yīng)的電路就不能正常工作。另外,為了降低功耗,可以選擇性的打開需要使用的外設(shè)時鐘。4.2STM32F40x系列芯片的時鐘系統(tǒng)STM32F40x系列芯片的時鐘系統(tǒng)框圖見圖4-2,又稱時鐘樹。STM32F40x系列芯片的時鐘系統(tǒng)需要通過時鐘輸入、倍頻、分頻等實現(xiàn)對各部分的時鐘輸出。圖4-2STM32F407的時鐘樹
4.2STM32F40x系列芯片的時鐘系統(tǒng)STM32F40x有多個時鐘源,分別是高速外部時鐘(HighSpeedExternalClock,HSE)、低速外部時鐘(LowSpeedExternalClock,LSE)、高速內(nèi)部時鐘(HighSpeedInternalClock,HSI)、低速內(nèi)部時鐘(LowSpeedInternalClock,LSI)。HSE一般在4-26MHz之間,由外部晶體振蕩器提供,并經(jīng)鎖相環(huán)(PhaseLockedLoop,PLL)倍頻等處理后作為系統(tǒng)時鐘;LSE為也由外部晶體振蕩器提供,一般取32.768KHz,常用于實時時鐘(Real_TimeClock,RTC);HSI為16MHz,上電默認(rèn)啟動,精度不高;LSI約30KHz,精度不高,一般用于看門狗定時器等。對時鐘源信號處置有切換、配置、倍頻、分頻等程序設(shè)計內(nèi)容。對系統(tǒng)時鐘的學(xué)習(xí),學(xué)習(xí)者需要關(guān)注時鐘源、系統(tǒng)時鐘、相關(guān)外設(shè)時鐘等,這些通過軟件STM32CubeMX均可以輕松配置。4.3STM32標(biāo)準(zhǔn)庫、HAL庫、LL庫簡介嵌入式技術(shù)通過編寫程序來實現(xiàn)控制、測量、數(shù)據(jù)傳輸?shù)饶康?。嵌入式技術(shù)表現(xiàn)出來均是對芯片引腳的讀寫,但是根本上來說,則在于對嵌入式芯片內(nèi)部寄存器的讀寫,即向寄存器寫入數(shù)據(jù),或從寄存器讀出數(shù)據(jù)。編寫程序的過程,即是對寄存器的讀寫過程。有兩種方式可以實現(xiàn)對寄存器的操作,一是直接操作寄存器,一是通過庫函數(shù)操作寄存器。下面的程序是直接操作寄存器,讓PA0置1的例子。GPIOA->BSRR|=0x00000001;//直接操作寄存器,PA0置14.3STM32標(biāo)準(zhǔn)庫、HAL庫、LL庫簡介ST公司為開發(fā)者提供了非常方便的開發(fā)庫,主要有標(biāo)準(zhǔn)外設(shè)庫SPL(StandardPeripheralLibrary,SPL庫)、HAL庫(HardwareAbstractionLayer)、LL庫(LowLayer)三種。標(biāo)準(zhǔn)外設(shè)庫提供了很多的庫函數(shù),使用時只需要進(jìn)行庫函數(shù)的調(diào)用即可,程序的編寫、維護(hù)效率很高;HAL庫基于一個配置軟件STM32CubeMX,類似于圖形化編程,在配置方面非常直觀形象,使用簡單,程序的可讀性很強,尤其是適合于初學(xué)者。LL庫也可以通過STM32CubeMX產(chǎn)生,更加的小型化,更加的精簡,只是硬件的覆蓋率還不是很高。下面提供引腳控制的幾個例子,以體現(xiàn)幾種編程方式的差異:GPIO_SetBits(GPIOA,GPIO_Pin_0);//SPL庫,PA0置1HAL_GPIO_WritePin(GPIOA,GPIO_Pin_0,GPIO_PIN_SET);//HAL庫,PA0置1LL_GPIO_SetOutputPin(GPIOA,GPIO_PIN_0);//LL庫,PA0置14.3STM32標(biāo)準(zhǔn)庫、HAL庫、LL庫簡介相對而言,標(biāo)準(zhǔn)外設(shè)庫開發(fā)最早,也較為成熟,因此本書的開發(fā)均采用標(biāo)準(zhǔn)庫。HAL庫具有輕便、易使用、可讀性強、硬件覆蓋率高等特點,有興趣的同學(xué)可以自己依據(jù)二維碼開發(fā)使用。圖4-3STM標(biāo)準(zhǔn)庫圖4-3顯示的是STM32標(biāo)準(zhǔn)庫的結(jié)構(gòu),其中Libraries是最重要的一個目錄,該目錄包含了庫函數(shù)與啟動文件等,是標(biāo)準(zhǔn)庫的實體部分。Libraries文件夾下又有兩個子文件夾:CMSIS和STM32F10x_StdPeriph_Driver。CMSIS子目錄:CMSIS子目錄是STM32F10x的內(nèi)核庫目錄,核心子目錄為CM3,其余目錄可忽略。CM3下又有兩個子目錄:CoreSupport和DeviceSupportCoreSupport子目錄:內(nèi)有2個重要文件,一個是core_cm3.c(內(nèi)核通用源文件),另一個是core_cm3.h(內(nèi)核通用頭文件)。上述文件位于CMSIS核心層的核內(nèi)外設(shè)訪問層,由ARM公司提供,包含用于訪問內(nèi)核寄存器的名稱、地址定義等內(nèi)容。4.4STM32F407ZGT6的端口、引腳、外設(shè)STM32F407ZGT6有144個引腳,有PA、PB、PC、PD、PE、PF、PG共7個完整的端口,這7個完整的端口共有16*7=112個獨立引腳。以PA端口為例,有PA0—PA15共16個引腳。打開STM32F407的文檔,可以看到引腳說明,如查找USART1關(guān)鍵詞,可以找到如圖4-4所示的引腳描述,即PA9可以是普通的引腳,也具有第二功能,即可以是USART1的發(fā)送引腳;PA9還有第三功能,可以是TIM1的脈沖編碼調(diào)制(PulseWidthModulation,PWM)信號輸出引腳之一。PA9還有其他的功能。
圖4-4STM32F407ZGT6的USART1引腳4.4STM32F407ZGT6的端口、引腳、外設(shè)其他的引腳也有類似的功能,即有第一、第二等功能。在不同功能間期切換,稱為引腳的復(fù)用,可通過編程實現(xiàn)。STM32F407的端口和引腳還有一個稱謂,即通用輸入輸出,英文縮寫為GPIO,因此,PA等同于GPIOA,PB等同于GPIOB,PA0等同于GPIOA.0,PC10等同于GPIOC.10,依次類推。STM32的所有GPIO引腳都可以配置成輸入或輸出模式。輸入模式又分為模擬輸入、浮空輸入、上拉輸入、下拉輸入;輸出模式又分為推挽輸出、開漏輸出、推挽式復(fù)用功能、開漏復(fù)用等。STM32F407ZGT6有6個串口,分別是USART1-3、USART6、UART4-5;STM32F407ZGT6有14個定時器,即TIM1-TIM14;STM32F407ZGT6有三個ADC,即ADC1-3,其他外設(shè)可查找資料去了解。4.5KeilMDK編程軟件介紹本書采用MDK集成開發(fā)工具,使用的版本是KEILMDK5.24(以下簡稱Keil)。Keil軟件可在Keil官網(wǎng)下載并安裝。安裝成功Keil后,還需要安裝STM的器件包,比如“Keil.STM32F1xx_DFP.1.1.0.pack”等。為了下載程序到開發(fā)板,需要安裝ST-LINK仿真器驅(qū)動,或者JTAG仿真驅(qū)動(JLink/JTrace)。如果要進(jìn)行串行通訊,還需要安裝CH340或CP2102等串口驅(qū)動。安裝完成后,可以新建或打開一個現(xiàn)有的工程,如圖4-5。圖4-5工程界面4.5KeilMDK編程軟件介紹在工程的左邊是工程欄,右邊會顯示每個文件中的內(nèi)容,例如雙擊工程中的main.c文件,就會在右邊顯示這個文件的內(nèi)容,見圖4-5。點擊圖4-5左上角標(biāo)記為①的編譯按鈕(Bulid),就會開始編譯,并在BuildOutput區(qū)顯示編譯結(jié)果,例如“……0Error(s),0Warning(s)”,表示0個錯誤和0個警告。如有錯誤,則需要排除掉錯誤后再下載程序。項目小結(jié)本項目介紹了STM公司的一款A(yù)RM芯片大類STM32F4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年營銷心理學(xué)專業(yè)考試題消費者行為與市場策略題
- 學(xué)生數(shù)字素養(yǎng)提升:家校社協(xié)同教育的創(chuàng)新路徑研究教學(xué)研究課題報告
- 隧道掘進(jìn)機操作規(guī)范方案
- 初中物理實驗教學(xué)中實驗器材管理的優(yōu)化策略課題報告教學(xué)研究課題報告
- 冷鏈物流行業(yè)2025年信息化管理系統(tǒng)升級技術(shù)創(chuàng)新路徑可行性分析
- 2026年公路運輸與交通管理知識競賽題集及答案解析
- 標(biāo)準(zhǔn)化廠房冷鏈物流設(shè)計方案
- 涂裝基本知識
- 2026年財務(wù)成本管理師專業(yè)題庫
- 2026年托福聽力技巧訓(xùn)練與模擬試題
- 2025大模型安全白皮書
- 2026國家國防科技工業(yè)局所屬事業(yè)單位第一批招聘62人備考題庫及1套參考答案詳解
- 工程款糾紛專用!建設(shè)工程施工合同糾紛要素式起訴狀模板
- 2026湖北武漢長江新區(qū)全域土地管理有限公司招聘3人筆試備考題庫及答案解析
- 110(66)kV~220kV智能變電站設(shè)計規(guī)范
- (正式版)DB44∕T 2784-2025 《居家老年人整合照護(hù)管理規(guī)范》
- 2025年美國心臟病協(xié)會心肺復(fù)蘇和心血管急救指南(中文完整版)
- (2025年)教育博士(EdD)教育領(lǐng)導(dǎo)與管理方向考試真題附答案
- 1、湖南大學(xué)本科生畢業(yè)論文撰寫規(guī)范(大文類)
- 山西十五五規(guī)劃
- 基于多源數(shù)據(jù)融合的深圳市手足口病時空傳播模擬與風(fēng)險預(yù)測模型構(gòu)建及應(yīng)用
評論
0/150
提交評論