使用HAL庫、STM32CubeMX和Keil 5開發入門教程(一):點亮一盞LED燈(NUCLEO-F411RE)
本教程以點亮一盞LED燈為目的為大家演示用STM32CubeMX、Keil、ST-Link開發STM32程式的一般方法。
一、學習前的準備工作
硬體:一塊STM32開發板,一個ST-Link;(我使用的開發板是NUCLEO-F411RE)
軟體:裝好ST-Link的驅動程式,裝好STM32CubeMX,裝好Keil;
文件:開發板的原理圖、晶片的參考手冊和HAL驅動說明書。
附:STM32F4xx HAL驅動說明書
二、建立一個新的STM32CubeMX工程
開啟STM32CubeMX,然後單擊New Project:
選擇Series(系列)、Lines(系列)、Package
至此一個STM32CubeMX工程已經建立好:
三、配置對應引腳,然後生成Keil工程
開啟開發板原理圖,檢視LED燈對應的引腳:(如圖所示,讓PA5引腳輸出高電平即可點亮LED)
點選Pinout,然後單擊LED燈對應的引腳,選擇GPIO_Output模式:(將PA5設定成通用輸入輸出口的輸出模式,具體請參考Reference manual中的GPIO introduction)
由於本例程不需要配置時鐘、中介軟體和外圍裝置,也不需要計算功耗,所以Clock Configurantion
點選選單欄的Project->Settings,輸入STM32CubeMX工程名稱、儲存路徑以及自己的工具鏈/整合編譯環境,Code Generator中的設定保持預設,然後點選OK:(我的STM32CubeMX工程名稱為LD2,儲存路徑為桌面,整合編譯環境為Keil 5)
然後點選選單欄的Project->Generate Code,或者點選快捷鍵生成包含HAL庫的Keil工程以及初始化程式碼。此時對應路徑上即會出現一個以此STM32CubeMX工程名稱為名稱的資料夾。開啟對應路徑上的資料夾,其中以.ioc
四、 在Keil工程中新增自己的程式碼,然後編譯、下載
開啟Keil工程,根據註釋找到新增程式碼的地方。請不要在提示之外的地方新增程式碼,否則再次生成STM32CubeMX工程時會被刪除:(因為STM32CubeMX已經幫我們生成了初始化程式碼,所以我們只需要在/* USER CODE BEGIN 2 /與/ USER CODE END 2 */之間新增一句使PA5輸出高電平的程式碼)
開啟HAL驅動說明書找到我們需要的API,然後根據說明新增程式碼:(根據說明得到使PA5輸出高電平的程式碼為HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, GPIO_PIN_SET);)
往工程中新增程式碼,然後點選編譯,用ST-Link連線好計算機和開發板後點擊下載: