微控制器基礎——使用GPIO輸出點亮一個LED燈
阿新 • • 發佈:2020-03-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進行按鍵檢測。