??STM32系列32位微控制器基于Arm? Cortex?-M處理器,旨在為MCU用戶提供新的開發自由度。它包括一系列產品,集高性能、實時功能、數字信號處理、低功耗/低電壓操作、連接性等特性于一身,同時還保持了集成度高和易于開發的特點。
1.硬件接口
??STM32G431開發板有一個用戶按鈕和LED燈。
??根據原理圖,LD2和PA5相連,想要點亮LED則PA5應該為高電平。
??用戶按鍵B1和PC13相連,按下為高電平;
2.軟件設計
2.1 芯片型號選擇
??本示例所使用芯片型號為:STM32G431RBT6;128KB flash 和32KB SRAM,工作頻率高達170MHz。
2.2 時鐘配置
2.3 GPIO配置
2.4 生成代碼
2.5 LED和按鈕引腳配置
2.6 獲取按鍵值函數編寫
/*獲取按鍵值*/ uint8_t Get_KeyVal(void) { uint8_t static stat=0; if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==1 && stat==0)//判斷按鍵是否按下 { HAL_Delay(20);//延時消抖 stat=1; if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin))return 1; } else if(HAL_GPIO_ReadPin(USER_GPIO_Port,USER_Pin)==0) { stat=0; } return 0; }
2.7 主函數
uint8_t key; /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ key=Get_KeyVal(); if(key) { HAL_GPIO_TogglePin(LD2_GPIO_Port, LD2_Pin); } }
??開發板本身集成ST_Link下載器,只需安裝ST_Link驅動即可直接下載。
審核編輯:湯梓紅
-
mcu
+關注
關注
146文章
17148瀏覽量
351187 -
STM32
+關注
關注
2270文章
10900瀏覽量
355985 -
按鍵
+關注
關注
4文章
223瀏覽量
57601 -
開發板
+關注
關注
25文章
5050瀏覽量
97456
發布評論請先 登錄
相關推薦
評論