1. 程式人生 > 其它 >Keil MDK STM32系列(五) 使用STM32CubeMX建立專案基礎結構

Keil MDK STM32系列(五) 使用STM32CubeMX建立專案基礎結構

概述

使用硬體抽象庫HAL, 手工建立程式碼結構容易出錯, 最簡單的方式還是通過STM32CubeMX.

下載安裝STM32CubeMX

官網地址 https://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/stm32cubemx.html

安裝後, 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.

  1. System Core -> SYS, Debug 選擇 Serial Wire, 這時候會看到圖上的PA13和PA14被高亮, GPIO也會產生相應的配置. 這一步比較重要, 如果不配置, 編譯好的韌體寫入MCU後, 再啟動就連不上STLink了.
  2. System Core -> RCC, HSE和LSE, 都選擇Crystal/Ceramic Resonator, 啟用外部的高速和低速振盪源, 這時候GPIO中, PC14, PC15, PH0, PH1 會自動產生對應的配置
  3. Timers -> RTC 如果要啟用外部時鐘源, 勾選 Activate Clock Source, 這樣在下一步的時鐘配置中就可以選擇內部或者外部時鐘源
  4. Connectivity -> USART1, Mode 選擇 Asynchronous, 其他預設, 在 System Core -> GPIO 下可以看到又增加了對應USART1的配置, PA9和PA10. 如果要選擇PB6和PB7, 需要在右側的Pinout圖上取消PA9和PA10後, 在PB6, PB7上設定, 再到左側選單中選擇
  5. 看專案需要, 可以繼續選擇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開啟