STM32 CubeMX學習:0. 搭建開發環境
系列文章目錄- 前期的準備
- 點亮 LED
- 閃爍 LED
- 定時器閃爍LED
- 未完待續…
文章目錄
- STM32 CubeMX學習:0. 搭建開發環境
- 前言
- 0.1 軟體的安裝
- 0.2 軟體使用
- 0.3 新建工程
- 總結
前言
CubeMx 是一個 由 ST 推出的芯片圖形化配置工具,為了使開發者盡可能地可以不再關心底層,允許用戶使用圖形化向導生成C初始化代碼,0.1 軟體的安裝
在網上有很多安裝的相關教程,我這里不做過多的介紹,直接給出我目前的開發環境配置
HOST-OS : Windows-10 pro
STM32 Cube : v5.6
MCU : STM32F407
LIB : stm32cube_fw_f4_v1250
KEIL: MDK V5
注意:使用CubeMX軟體需要提前安裝對應版本的Java環境,只需安裝jre即可
我這里使用的CubeMX版本為5.6,官方推薦使用Java8
0.2 軟體使用
看到這里,相信大家已經安裝好了CubeMx
如果是第一次安裝的話,也要把HAL的包下載好:
下載包
(1)打開軟體
(2)Help --> Manage embeded software packages
(3)勾選對應的芯片包,Install now (stm32cube_fw_f4_v1250.zip)
注意:包的位置可以通過: Help -> Updater Settings中的Repository Folder重新指定,這樣大家就不怕軟體撐破自己的C盤啦
0.3 新建工程
-
打開CubeMX軟體,在file選項里選擇“New Project”

-
搜索“STM32F407ZG",選擇"STM32F407ZGTx"

-
在Cystem Core 下選擇RCC選項,在RCC mode and Configuration 中的 High Speed Clock(HSE)下選擇Crystal/Ceramic Resonator

一些知識的補充
STM32CubeMX中外部時鐘配置可選型別為
Disable 、 BYPASS Clock Source(旁路時鐘源) 、Crystal/Ceramic Resonator(石英/陶瓷 晶振) 三種型別,
旁路時鐘源:指無需使用外部晶體時所需的芯片內部時鐘驅動組件,直接從外界匯入時鐘信號,
猶如芯片內部的驅動組件被旁路了,只需要外部提供時鐘接入OSC_IN引腳,而OSC_OUT引腳懸空,
外部晶體/陶瓷諧振器(HSE晶體)模式:該時鐘源是由外部無源晶體與MCU內部時鐘驅動電路共同配合形成,
有一定的啟動時間,精度較高,OSC_IN 與 OSC_OUT引腳都要連接,
-
點擊頂部的 Clock Configuration,進行主頻配置;將Input frequecncy設定為12,點擊旁邊的HSE圓形按鈕,配置/M為/6,配置*N為X168,配置/P為/2 ,選擇PLLCLK圓形按鈕,配置APB1 Prescaler為/4,配置APB2 Prescaler為/2;

-
點擊頂部的 Pinout & Configuartion,選擇SYS,在Debug下拉框中選擇Serial Wire;

-
點擊頂部的 Project Manager,給工程起名,選擇存放目錄,在Toolchain/IDE中選擇MDK-ARM V5;

注意:路徑和名稱一定不要包含中文字符,否則你就拿不到你想要的keil代碼工程啦, -
點擊旁邊的 Code Generator,勾選Copy only the necessary library files以及Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral;

-
點擊頂部的GENERATE CODE,等待代碼生成,打開工程,

-
注意事項
CubeMX 生成的代碼 會有一些特殊的注釋,這些注釋對于 CubeMx 是有意義的,用戶的代碼只能寫在位于 USER CODE BEGIN …與USER CODE END …之間(自己建立的原始碼檔案不受影響),否則,當對于 CubeMx 進行重新配置的時候,代碼可能會因為被覆寫而消失,例如:
int main(void)`在這里插入代碼片`
{
/* USER CODE BEGIN 1 */
用戶可撰寫的代碼區
/* USER CODE END 1 */
/* MCU Configuration--------------------------------------------------------*/
/* Reset of all peripherals, Initializes the Flash interface and the Systick. */
HAL_Init();
/* USER CODE BEGIN Init */
用戶可撰寫的代碼區
/* USER CODE END Init */
/* Configure the system clock */
SystemClock_Config();
/* USER CODE BEGIN SysInit */
用戶可撰寫的代碼區
/* USER CODE END SysInit */
/* Initialize all configured peripherals */
MX_GPIO_Init();
/* USER CODE BEGIN 2 */
用戶可撰寫的代碼區
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
{
用戶可撰寫的代碼區
/* USER CODE END WHILE */
/* USER CODE BEGIN 3 */
}
/* USER CODE END 3 */
}
總結
以上就是今天要講的內容,本文主要介紹了CubeMX環境的搭建和生成你的第一個工程檔案,大家給自己點個贊,學習單片機還要再接再厲哦轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/243649.html
標籤:其他
上一篇:框架筆記:記錄XLua的簡單接入
下一篇:CoolCool的序列
