學習前端的網(wǎng)站學推廣網(wǎng)絡(luò)營銷去哪里
STM32CubeMX 下載和安裝 詳細教程
【HAL庫】STM32CubeMX開發(fā)----STM32F407----目錄
前言
本次實驗以 STM32F407VET6 芯片為MCU,使用 25MHz 外部時鐘源。
實現(xiàn)定時器TIM3中斷,每1s進一次中斷。
定時器計算公式如下:
arr 是自動裝載值,psc 是分頻系數(shù),Tclk 定時器的時鐘。
一、使用STM32CubeMX----新建工程
步驟1:打開 STM32CubeMX 軟件
具體 STM32CubeMX 界面如下:
步驟2:選擇 從MCU開始我的項目
步驟3:選擇MCU芯片
我們本次實驗選擇 STM32F407VET6 芯片做 MCU。
進入工程編輯,具體界面如下:
步驟4:設(shè)置燒寫方式為 SWD模式
這一步必須選擇一種燒寫方式,否則燒寫一次程序后,芯片中就沒法再次燒寫程序了。需要硬件重啟才可以重新燒寫程序。
STM32燒寫程序連接方式詳解
步驟5:設(shè)置時鐘源
設(shè)置外部晶振為芯片系統(tǒng)時鐘源。
步驟6:定時器設(shè)置
定時器參數(shù)設(shè)置
Prtscaler (定時器分頻系數(shù)) : 8399
Counter Mode(計數(shù)模式) : Up(向上計數(shù)模式)
Counter Period(自動重裝載值) : 9999
CKD(時鐘分頻因子) : No Division 不分頻
auto-reload-preload(自動重裝載) : Enable 使能
其他的默認不變。
使能定時器中斷
步驟7:設(shè)置時鐘
STM32F407 時鐘最大頻率為 168M,我的開發(fā)板是 25M 外部時鐘源,具體時鐘配置如下:
本次實驗以 STM32F407VET6 芯片為MCU,使用 25MHz 外部時鐘源。
APB1是84MHz,TIM3定時器使用的時鐘就是APB1。
步驟8:項目編輯
步驟9:代碼生成編輯
步驟10:點擊 GENERATE CODE 生成代碼
新建的工程,已經(jīng)生成,接下來就是對工程代碼的編輯。
二、使用keil5----編輯程序
想要使用keil5打開工程,需要電腦先安裝 keil5編譯環(huán)境,具體操作流程。
可以點擊下方文章鏈接:Keil5編譯環(huán)境搭建流程----STM32和GD32
步驟1:使用keil5打開工程
點擊工程文件中的MDK-ARM 文件
打開keil5工程
步驟2:用戶代碼 編輯位置
用戶代碼 要寫在 USER xxxx BEGIN xxx 和 USER xxxx END xxx 之間。
這樣下次使用 STM32CubeMX 重新生成代碼后,自己寫的代碼不會被刪除。
步驟3:使用到的HAL庫函數(shù)
//啟動定時器中斷
HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim);
//定時器中斷回調(diào)函數(shù)
__weak void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim);
步驟4:開啟定時器中斷
步驟5:定時器中斷服務(wù)函數(shù)中編輯
步驟6:編譯程序,然后燒寫程序到開發(fā)板
具體燒寫操作步驟,可以查看以下文章,有詳細的燒寫說明。
文章鏈接:
燒寫程序(STM32+GD32):ST-link V2調(diào)試下載器實物和連接方式
燒寫程序(STM32+GD32):ST-link驅(qū)動下載和安裝
燒寫程序(STM32+GD32):Keil5使用ST-link下載程序
資源鏈接:ST-link驅(qū)動鏈接----點擊下載