單片機基礎——使用GPIO輸出點亮一個LED燈

  • 2020 年 3 月 13 日
  • 筆記

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進行按鍵檢測。