使用HAL庫、STM32CubeMX和Keil 5開發入門教程(一):點亮一盞LED燈(NUCLEO-F411RE)

本文轉載自http://blog.csdn.net/charmingsun/article/details/50802267,本教程以點亮一盞LED燈爲目的爲大家演示用STM32CubeMX、Keil、ST-Link開發STM32程序的一般方法。

一、學習前的準備工作

硬件:一塊STM32開發板,一個ST-Link;(我使用的開發板是NUCLEO-F411RE) 
軟件:裝好ST-Link的驅動程序,裝好STM32CubeMX,裝好Keil; 
文檔:開發板的原理圖、芯片的參考手冊和HAL驅動說明書。 
附:STM32F4xx HAL驅動說明書

二、創建一個新的STM32CubeMX工程

打開STM32CubeMX,然後單擊New Project: 
打開STM32CubeMX,然後單擊*New Project*
選擇Series(系列)、Lines(系列)、Package(封裝),然後選中自己MCU的型號,點擊OK:(我的MCU是STM32F411RE,64引腳LQFP封裝) 
選擇*Series*(系列)、*Lines*(系列)、*Package*(封裝),然後選中自己MCU的型號,點擊*OK*。(我的MCU是STM32F411RE,64引腳LQFP封裝) 
至此一個STM32CubeMX工程已經建立好: 
至此一個STM32CubeMX工程已經建立好

三、配置對應引腳,然後生成Keil工程

打開開發板原理圖,查看LED燈對應的引腳:(如圖所示,讓PA5引腳輸出高電平即可點亮LED) 
打開開發板原理圖,查看LED燈對應的引腳 
點擊Pinout,然後單擊LED燈對應的引腳,選擇GPIO_Output模式:(將PA5設置成通用輸入輸出口的輸出模式,具體請參考Reference manual中的GPIO introduction) 
點擊*Pinout*,然後單擊LED燈對應的引腳,選擇*GPIO_Output*模式
由於本例程不需要配置時鐘、中間件和外圍設備,也不需要計算功耗,所以Clock ConfigurantionConfigurationPower Consumption Caculator保持默認。 
點擊菜單欄的Project->Settings,輸入STM32CubeMX工程名稱、保存路徑以及自己的工具鏈/集成編譯環境,Code Generator中的設置保持默認,然後點擊OK:(我的STM32CubeMX工程名稱爲LD2,保存路徑爲桌面,集成編譯環境爲Keil 5) 
點擊菜單欄的*Project*->*Settings*,輸入STM32CubeMX工程名稱、保存路徑以及自己的工具鏈/集成編譯環境,*Code Generator*中的設置保持默認,然後點擊*OK* 
然後點擊菜單欄的Project->Generate Code,或者點擊Generate Code快捷鍵快捷鍵生成包含HAL庫的Keil工程以及初始化代碼。此時對應路徑上即會出現一個以此STM32CubeMX工程名稱爲名稱的文件夾。打開對應路徑上的文件夾,其中以.ioc爲擴展名的文件即爲STM32CubeMX的工程文件,以集成編譯環境爲名字的文件夾中含有以此STM32CubeMX工程名稱爲名稱的此集成編譯環境的工程文件,Drivers目錄中包含了驅動程序,Inc目錄中包含了頭文件,Src目錄中包含了源代碼:(LD2.ioc文件即爲剛剛創建的STM32CubeMX工程,MDK-ARM文件夾中的LD2.uvprojx文件即爲剛剛生成的Keil工程) 
包含HAL庫的Keil工程以及初始化代碼

四、 在Keil工程中添加自己的代碼,然後編譯、下載

打開Keil工程,根據註釋找到添加代碼的地方。請不要在提示之外的地方添加代碼,否則再次生成STM32CubeMX工程時會被刪除:(因爲STM32CubeMX已經幫我們生成了初始化代碼,所以我們只需要在/* USER CODE BEGIN 2 /與/ USER CODE END 2 */之間添加一句使PA5輸出高電平的代碼) 
打開Keil工程,根據註釋找到添加代碼的地方。請不要在提示之外的地方添加代碼,否則再次生成STM32CubeMX工程時會被刪除
打開HAL驅動說明書找到我們需要的API,然後根據說明添加代碼:(根據說明得到使PA5輸出高電平的代碼爲HAL_GPIO_WritePin (GPIOA, GPIO_PIN_5, GPIO_PIN_SET);) 
打開HAL驅動說明書找到我們需要的API,然後根據說明添加代碼 
往工程中添加代碼,然後點擊編譯編譯,用ST-Link連接好計算機和開發板後點擊下載下載: 
往工程中添加代碼,然後編譯、下載

五、 下載完成後復位開發板,然後開發板的LD2(綠燈)亮了

下載完成後復位開發板,然後開發板的LD2(綠燈)亮了

發佈了10 篇原創文章 · 獲贊 214 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章