Keil MDK STM32系列(五) 使用STM32CubeMX建立專案基礎結構
阿新 • • 發佈:2021-09-15
概述
使用硬體抽象庫HAL, 手工建立程式碼結構容易出錯, 最簡單的方式還是通過STM32CubeMX.
下載安裝STM32CubeMX
安裝後, Alt+U
開啟Embedded Software Package Manager, 在裡面找到STM32F4, 勾選最高的那個版本, 當前是1.26.2, 點選下面的Install Now. 這個需要比較長時間.
對於1.26.2這個版本, 不要去嘗試From Local, 因為這個版本的zip檔案有兩個, 一個1.26.0, 一個1.26.2的patch, 這兩個包都下載到本地後, 嘗試了無數次, From Local都會報錯. 最後還是點Install Now, 讓它從網路下載安裝的.
配置專案
1. 選擇MCU型號
點選主介面的ACCESS TO MCU SELECTOR
, 會開啟型號選擇, 在左邊勾選Arm Cortex-M4, 在右邊選對應的型號, 然後點右上角的Start Project
2. PIN腳設定
上一步點選後, 就會進入Pinout & Configuration
介面, 在左側的列表中, 預設有改動的是System Core下的NVIC, 預設勾選的是旁邊的SYS.
- System Core -> SYS, Debug 選擇 Serial Wire, 這時候會看到圖上的PA13和PA14被高亮, GPIO也會產生相應的配置. 這一步比較重要, 如果不配置, 編譯好的韌體寫入MCU後, 再啟動就連不上STLink了.
- System Core -> RCC, HSE和LSE, 都選擇Crystal/Ceramic Resonator, 啟用外部的高速和低速振盪源, 這時候GPIO中, PC14, PC15, PH0, PH1 會自動產生對應的配置
- Timers -> RTC 如果要啟用外部時鐘源, 勾選 Activate Clock Source, 這樣在下一步的時鐘配置中就可以選擇內部或者外部時鐘源
- Connectivity -> USART1, Mode 選擇 Asynchronous, 其他預設, 在 System Core -> GPIO 下可以看到又增加了對應USART1的配置, PA9和PA10. 如果要選擇PB6和PB7, 需要在右側的Pinout圖上取消PA9和PA10後, 在PB6, PB7上設定, 再到左側選單中選擇
- 看專案需要, 可以繼續選擇SPI, ADC等
3. 時鐘設定
點選上方的導航進入 Clock Configuration
介面. 這裡很直觀地展示了HSE, LSE, HSI, LSI 這些時鐘源與系統和外設的關聯.
- 如果使用預設的HSI, 時鐘就是16MHz
- 如果使用外部的HSE, 時鐘就是25MHz(看具體的板子), 可以直接連到SYSCLK, 也可以通過PLL, 25MHz倍頻後可以達到75Hz, 這個頻率會直接體現到MDK專案配置中的Xtal
4. 配置專案名稱和路徑
Toolchain/IDE 要選擇 MDK-ARM, 版本選V5
5. 生成專案程式碼
點選右上角的GENERATE CODE
就會生成程式碼, 程式碼可以直接用Keil MDK開啟