《嵌入式技術(shù)及應用》課件-項目三 STM32微控制器開發(fā)_第1頁
《嵌入式技術(shù)及應用》課件-項目三 STM32微控制器開發(fā)_第2頁
《嵌入式技術(shù)及應用》課件-項目三 STM32微控制器開發(fā)_第3頁
《嵌入式技術(shù)及應用》課件-項目三 STM32微控制器開發(fā)_第4頁
《嵌入式技術(shù)及應用》課件-項目三 STM32微控制器開發(fā)_第5頁
已閱讀5頁,還剩96頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

技術(shù)及應用任務(wù)一STM32微控制器開發(fā)環(huán)境的搭建本節(jié)內(nèi)容STM32Cube生態(tài)系統(tǒng)介紹STM32CubeMX軟件的下載及安裝MDK-ARM軟件的下載及安裝ST-Link仿真器的驅(qū)動安裝及固件升級教學目標了解STM32Cube生態(tài)系統(tǒng)的組成了解STM32CubeMX軟件的特點及開發(fā)流程完成STM32微控制器開發(fā)環(huán)境的搭建任務(wù)二STM32Cube生態(tài)系統(tǒng)介紹生態(tài)系統(tǒng)STM32Cube生態(tài)系統(tǒng)

=

硬件

+

軟件--Nucleo擴展軟件開發(fā)工具軟件硬件…嵌入式軟件NucleoEvaluation全功能開發(fā)板Discovery探索套件STM32Cube生態(tài)系統(tǒng)軟件部分芯片配置工具集成開發(fā)環(huán)境系統(tǒng)監(jiān)控工具專注垂直領(lǐng)域應用的擴展包程序下載工具全流程覆蓋軟件開發(fā)工具覆蓋嵌入式系統(tǒng)軟件開發(fā)的整個流程

基本特點圖形化方式配置時鐘、片內(nèi)外設(shè),自動生成初始化代碼02提高開發(fā)效率,聚焦業(yè)務(wù)層的設(shè)計04自動生成工程框架,支持MDK、EWARM等多種開發(fā)環(huán)境03集成MCUFinder功能,便于用戶進行芯片選型01使用流程STM32

選型/評估板選型/MCU交叉選型引腳分配中間件配置/插件安裝&

配置初始代碼項目生成引腳配置參考手冊數(shù)據(jù)手冊應用文檔軟件插件包MCU固件包MCU固件包STM32CubeF4STM32CubeF1STM32微控制器各個產(chǎn)品系列都有獨立的MCU固件包STM32生態(tài)系統(tǒng)垂直應用STM32生態(tài)系統(tǒng):通用+垂直STM32芯片電機人工智能信息安全云連接圖形界面…05基于神經(jīng)網(wǎng)絡(luò)對新數(shù)據(jù)進行分析處理人工智能04轉(zhuǎn)換成為MCU優(yōu)化的代碼03神經(jīng)網(wǎng)絡(luò)模型訓練02數(shù)據(jù)清理和標注建立神經(jīng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)01

數(shù)據(jù)采集任務(wù)七STM32CubeMX軟件的使用學習內(nèi)容HAL庫的基本特點STM32CubeMX軟件的使用步驟利用MDK軟件編寫應用程序教學目標01了解HAL庫的基本特點02熟練掌握STM32CubeMX軟件的使用流程03熟練掌握MDK軟件的程序編寫和程序下載方法任務(wù)七目標選擇啟動界面1菜單欄2已存在工程3新建工程4軟件管理基于芯片基于開發(fā)板交叉選型檢查軟件更新安裝/卸載固件包選擇基于芯片方式新建工程芯片/開發(fā)板選擇界面1標簽頁切換2篩選器33芯片文檔4芯片文檔芯片/開發(fā)板列表框輸入芯片型號目標選擇12雙擊任務(wù)七引腳分配配置主界面配置主界面完成CubeMX軟件的所有配置操作功能標簽頁生成代碼引腳分配及外設(shè)和中間件配置系統(tǒng)時鐘設(shè)置工程設(shè)置系統(tǒng)功耗估算導航欄123配置主界面配置主界面完成CubeMX軟件的所有配置操作導航欄生成代碼12功能標簽頁引腳分配及外設(shè)和中間件配置系統(tǒng)時鐘設(shè)置工程設(shè)置系統(tǒng)功耗估算3芯片引腳圖用于引腳分配1類別欄用于外設(shè)及中間件配置放大/縮小/旋轉(zhuǎn)引腳圖查找引腳在對應引腳搜索框輸入要分配的引腳名對應引腳將會閃爍12選擇引腳功能Nucleo開發(fā)板上利用PA5引腳作為通用I/O控制指示燈LED2單擊PA512任務(wù)七時鐘配置時鐘樹① 外部低速時鐘LSE:32.768KHz② 內(nèi)部低速時鐘LSI

:32KHz③ 內(nèi)部高速時鐘HSI:16MHz④ 外部高速時鐘LSE:振蕩模式:4MHz~26MHz晶振旁路模式:1MHz~50MHz信號1234時鐘配置步驟① 修改時鐘源頻率:25→

8②

選擇鎖相環(huán)輸入時鐘:HSE③ 選擇系統(tǒng)時鐘源:PLLCLK④ 設(shè)置HCLK時鐘頻率:100,并回車時鐘配置步驟1234任務(wù)七工程配置配置模塊代碼生成高級設(shè)置工程管理工程管理231工程名稱完成工程名稱和工程路徑設(shè)置后,將自動在CubeMX文件夾下新建一個名為Demo的文件夾工程路徑選擇IDE工程管理代碼生產(chǎn)設(shè)置復制所有庫復制必要庫引用參考片內(nèi)外設(shè)初始化采用獨立文件設(shè)置模擬功能使能斷言語句模板設(shè)置高級設(shè)置選擇HAL庫或者LL庫由CubeMX生成的外設(shè)初始化函數(shù)是否使用CubeMX所生成外設(shè)初始化函數(shù)生成工程生成基于MDK-ARM集成開發(fā)環(huán)境的工程工程未打開選擇“OpenProject”工程已打開選擇“Close”生成工程生成基于MDK-ARM集成開發(fā)環(huán)境的工程工程未打開選擇“OpenProject”工程已打開選擇“Close”任務(wù)七在MDK中編寫應用程序12345工具欄菜單欄工程窗口MDK-ARM軟件主界面代碼編輯窗口信息輸出窗口工程名稱工程框架①MDK-ARM組:啟動代碼文件②User組:用戶編程文件③HAL_Driver組:HAL庫驅(qū)動文件④CMSIS組:系統(tǒng)初始化文件//包含頭文件//

時鐘初始化函數(shù)聲明//

GPIO引腳初始化函數(shù)聲明#include

"main.h"void

SystemClock_Config(void);void

MX_GPIO_Init(void);int

main(void){HAL_Init();SystemClock_Config();MX_GPIO_Init();while

(1)//

HAL庫初始化//

時鐘初始化//

GPIO引腳初始化//

while無限循環(huán)6.7.8.9.10. {11. }12.}main.c刪除注釋語句及內(nèi)部函數(shù)添加控制引腳電平狀態(tài)變化以及延時1s的代碼接口函數(shù):HAL_TogglePin函數(shù)原型voidHAL_GPIO_TogglePin(GPIO_TypeDef*

GPIOx,uint16_t

GPIO_Pin)功能描述翻轉(zhuǎn)引腳電平狀態(tài)入口參數(shù)1GPIOx:引腳端口號,范圍是

GPIOA

~GPIOK入口參數(shù)2GPIO_Pin:引腳號, 范圍是

GPIO_PIN0

~

GPIO_PIN15返回值

無注意事項

無接口函數(shù)指示燈控制引腳PA5對應的端口號為GPIOA,引腳號為GPIO_PIN,函數(shù)調(diào)用形式:HAL_GPIO_TogglePin(GPIOA,GPIO_PIN5)接口函數(shù):HAL_Delay函數(shù)原型voidHAL_Delay(uint32_tDelay

)功能描述延時函數(shù),提供以ms單位的延時入口參數(shù)Delay:需要的延時時間,以ms為單位返回值無注意事項延時功能利用系統(tǒng)節(jié)拍定時器SysTIck實現(xiàn),將占用該定時器資源延時1S的函數(shù)調(diào)用形式:HAL_Delay(1000)添加用戶代碼/*Infiniteloop*//*USERCODEBEGINWHILE*/3.while

(1)4.

{5. /*USERCODEENDWHILE

*/6

./*USERCODEBEGIN3

*///

翻轉(zhuǎn)PA5引腳電平,控制指示燈LD2的開啟和關(guān)閉8.HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);9.HAL_Delay(1000); //

延時1s10.}11. /*USERCODEEND3

*/用戶代碼必須位于USER CODEBEGIN

和USER CODE

END 之間注意用戶添加的代碼程序編譯程序編譯沒有錯誤和警告1工程設(shè)置2工程設(shè)置仿真器設(shè)置選擇ST-Link仿真器下載并運行程序程序下載如果程序下載后沒有執(zhí)行,可以按下復位按鍵,確保程序執(zhí)行程序下載3Nucleo開發(fā)板上的用戶指示燈LED2每隔1s閃爍任務(wù)八MDK-ARM軟件的使用學習內(nèi)容MDK-ARM軟件的使用流程MDK-ARM軟件的實用功能RTE環(huán)境與STM32CubeMX的聯(lián)合使用教學目標熟練掌握MDK-ARM軟件的使用流程熟練掌握MDK-ARM軟件的調(diào)試方法了解MDK-ARM軟件的RTE環(huán)境任務(wù)八新建工程CubeMX工程名工程路徑CubeMX在CubeMX軟件的工程設(shè)置中,已經(jīng)設(shè)置了工程名稱和工程路徑。軟件將自動生成基于MDK集成開發(fā)環(huán)境的工程文件,因此用戶不需要單獨新建工程。MDK工程文件存放在用戶設(shè)置的工程路徑。工程文件內(nèi)容MDK工程文件及startup_stm32f411xe.sCubeMX工程文件HAL庫驅(qū)動文件:HAL_Driver文件夾存放HAL庫接口函數(shù)的源代碼CMSIS文件夾存放與內(nèi)核相關(guān)的文件用戶頭文件:main.hstm32f4xx_hal_conf.hstm32f4xx_it.h用戶源文件:main.cstm32f4xx_hal_msp.cstm32f4xx_it.c啟動MDK工程MDK工程文件1 菜單欄2

工具欄

3

工程窗口4

代碼編輯窗口5

信息輸出窗口工程框架工程名稱1234②User組:用戶編程文件③HAL_Driver組:HAL庫驅(qū)動文件④CMSIS組:系統(tǒng)初始化文件①MDK-ARM組:啟動代碼文件任務(wù)八工程設(shè)置工程設(shè)置工程設(shè)置Device標簽頁芯片型號的選擇主要功能1 芯片選擇2

芯片介紹Target標簽頁硬件設(shè)置主要功能設(shè)置晶振頻率,一般用于軟件仿真1

使用微庫,在調(diào)用printf函數(shù)時需要勾選2

設(shè)置片外/片內(nèi)存儲器的起始地址和大小3

Output標簽頁輸出文件類型設(shè)置主要功能生成調(diào)試信息生成HEX格式文件生成瀏覽信息輸出庫文件輸出可執(zhí)行文件Listing標簽頁列表文件設(shè)置主要功能列表文件包含了生成代碼的詳細信息,如代碼大小、變量所占用的存儲器地址等User標簽頁用戶功能設(shè)置主要功能設(shè)置編譯執(zhí)行前或者執(zhí)行后,用戶希望執(zhí)行的操作C/C++標簽頁與C語言編譯相關(guān)設(shè)置主要功能USE_HAL_DRIVER表示使用HAL庫STM32F411xE表示使用的芯片型號預處理,相當于程序中的define定義12代碼優(yōu)化等級,建議初學者選擇“Level

0”,便于觀察程序中定義的全部變量以及設(shè)置斷點3設(shè)置頭文件的路徑ASM標簽頁與匯編語言編譯相關(guān)設(shè)置主要功能鏈接器功能設(shè)置主要功能Linker標簽頁仿真功能設(shè)置主要功能Debug標簽頁軟件仿真硬件軟件1仿真器選擇2仿真器設(shè)置仿真器設(shè)置窗口01仿真器信息02當用戶的電路板通過仿真器與電腦連接。如果電路板設(shè)計正確及正常上電后,將顯示目標芯片的ID號調(diào)試接口選擇仿真器設(shè)置窗口01確保程序下載后立即執(zhí)行02MCU片內(nèi)Flash的編程算法Utility標簽頁下載功能設(shè)置主要功能特別提示利用CubeMX軟件生成MDK工程只需要修改兩處地方01在Debug標簽頁中的選擇所使用的仿真器,并在仿真器設(shè)置窗口中勾選“ResetandRun”。02對于初學者,建議在C/C++標簽頁中的設(shè)置程序優(yōu)化等級為“Level0”,以便于程序的仿真調(diào)試。任務(wù)八程序編譯和下載程序編譯程序編譯沒有錯誤和警告程序下載如果程序下載后沒有執(zhí)行,可以按下復位按鍵,確保程序執(zhí)行程序下載任務(wù)八程序調(diào)試程序調(diào)試利用工具欄的Debug按鈕進入程序調(diào)試界面工程設(shè)置調(diào)試主界面菜單欄1

工具欄2

寄存器窗口3

反匯編窗口4

代碼調(diào)試窗口5

命令窗口6

調(diào)用棧和局部變量窗口7

雙箭頭表示下一行將執(zhí)行的代碼常規(guī)調(diào)試方式復位全速運行停止運行跟 單蹤 步調(diào) 調(diào)試 試跳出函數(shù)運行 跳轉(zhuǎn)至光 至暫標處 停行跟蹤調(diào)試:遇到函數(shù)調(diào)用將進入函數(shù)內(nèi)部執(zhí)行單步調(diào)試:遇到函數(shù)調(diào)用,將函數(shù)當做一條語句執(zhí)行,不進入函數(shù)內(nèi)部斷點調(diào)試代碼行左邊的灰色區(qū)域用于設(shè)置斷點點擊一次設(shè)置斷點,再次點擊取消斷點觀察窗口用于查看變量的值2選中變量,鼠標右鍵3選擇變量顯示格式1選中變量,鼠標右鍵內(nèi)核外設(shè)外設(shè)查看功能可以查看與內(nèi)核外設(shè)和片內(nèi)外設(shè)相關(guān)的硬件寄存器的當前值外設(shè)查看1內(nèi)核外設(shè)23片內(nèi)外設(shè)任務(wù)九MDK-ARM軟件的實用功能編輯器設(shè)置軟件配置1選擇簡體中文GB23132TAB間隔為4個字符字體和顏色代碼注銷及取消2選中代碼添加注釋取消注釋1查看變量和函數(shù)的原始定義快速查看選中要查看的變量或函數(shù),鼠標右鍵1查看頭文件2選中要查看的頭文件,鼠標右鍵任務(wù)十RTE環(huán)境

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論