1. 程式人生 > >微控制器基礎——使用GPIO輸出點亮一個LED燈

微控制器基礎——使用GPIO輸出點亮一個LED燈

1. 準備工作

硬體準備

開發板
首先需要準備一個小熊派IoT開發板,並通過USB線與電腦連線。

軟體準備

  • 需要安裝好Keil - MDK及晶片對應的包,以便編譯和下載生成的程式碼,可參考MDK安裝教程

2.建立工程

選擇晶片型號

開啟STM32CubeMX,開啟MCU選擇器:

搜尋並選中晶片STM32L431RCT6:

配置時鐘源

  • 如果選擇使用外部高速時鐘(HSE),則需要在System Core中配置RCC;
  • 如果使用預設內部時鐘(HSI),這一步可以略過;

這裡我都使用外部時鐘:

配置GPIO引腳

檢視原理圖,確定控制LED引腳,這裡我們的LED使用的是PC13引腳。

所以接下來我們選擇配置PC13

引腳:

配置時鐘樹

STM32L4的最高主頻到80M,所以配置PLL,最後使HCLK = 80Mhz即可:

生成工程設定

 

程式碼生成設定

最後設定生成獨立的初始化檔案:

生成程式碼

點選GENERATE CODE即可生成MDK-V5工程:

生成成功

3. 在MDK中編寫、編譯、下載使用者程式碼

編寫使用者程式碼

STM32CubeMX生成的程式碼目錄如下:

進入MDK-ARM資料夾目錄,開啟工程:

main.c中的main函式中編寫簡單的使用者程式碼:

1 while (1)
2   {
3     /* USER CODE END WHILE */
4     /* USER CODE BEGIN 3 */
5     HAL_Delay(200);
6     HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
7   }

編譯程式碼

點選如圖所示的按鈕編譯工程

設定下載器

點選如圖所示按鈕開啟設定頁面

進行下載設定,選擇“ST-Link Debugger”,並點選“Settings”。

在“Flash Download”選單下勾選“Reset and Run”選項,已達到燒錄程式後微控制器自動復位並執行程式的目的。

下載執行

點選"LOAD"按鈕即可燒錄程式碼到微控制器中。

燒錄成功

實驗現象

至此,我們已經學會了如何使用STM32CubeMX快速生成MDK的工程,點亮一個LED,接下來一節講述如何使用 STM32CubeMX初始化GPIO進行按鍵檢測。