帶您快速實現STM32開發板LED閃爍功能
本次欲實現的STM32開發板為STM32 F446RE,整體流程可適用於不同開發板,差別只在於要選擇我們採用板子的型號,以及要確定開發板上面的LED是座落在哪個pin腳,修改完成就可實現此功能。
為了快速簡單方便實現,我們會使用STM32內建的CubeMX軟體,這個軟體可幫助我們勾選特定功能後,快速生成相對應的程式碼。
CubeMX軟體可免費於STM32官網下載。
下載安裝完後,打開CubeMX軟體,介面形式如下圖所示。
點下左上方的file,選擇new project後,會出現以下畫面,可在commercial part number輸入我們開發板的型號。找到開發板的型號之後,對型號點兩下進入。
點兩下進入後,會出現以下畫面,這是STM32的架構功能圖,上面會有不同的pin腳,我們可以將不同pin腳設定特定功能。
比如此次要實現STM32在板子上,LED閃爍功能,板子上內建的LED其中一個就是在pinA 5的地方,在這上面的縮寫就是PA5,我們點下此腳位,可看到這個腳位還可以設定不同功能,如ADC, DAC,SPI等等的功能。因為LED燈它是要用GPIO控制,所以我們就把他設定為GPIO_Output。
設定完成後,可點選到project manager的頁面,在此頁面上,要將Toolchain/IDE改成是我們自己準備要run code的IDE,比如說,此次我要採用STM32 CubeIDE就選擇此IDE。之後就可以按產生程式碼,就可以產生這個project。
產生project後,用STM32 CubeIDE打開,然後在main function裡面的while loop加入以下程式碼,我們會有TogglePin這代表會將狀態改變,1變0或0變1,然後再加入delay延遲,就可實現LED燈不斷閃爍的功能。
- while (1)
- {
- /* USER CODE END WHILE */
- HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5);
- HAL_Delay(500);
- /* USER CODE BEGIN 3 */
- }
可以看到綠色的LED燈,就會不斷閃爍。