??STM32系列32位微控制器基于Arm? Cortex?-M處理器,旨在為MCU用戶提供新的開發(fā)自由度。它包括一系列產(chǎn)品,集高性能、實(shí)時(shí)功能、數(shù)字信號處理、低功耗/低電壓操作、連接性等特性于一身,同時(shí)還保持了集成度高和易于開發(fā)的特點(diǎn)。
1.硬件接口
??STM32G431開發(fā)板有一個(gè)用戶按鈕和LED燈。
??根據(jù)原理圖,LD2和PA5相連,想要點(diǎn)亮LED則PA5應(yīng)該為高電平。
??用戶按鍵B1和PC13相連,按下為高電平;
2.軟件設(shè)計(jì)
2.1 芯片型號選擇
??本示例所使用芯片型號為:STM32G431RBT6;128KB flash 和32KB SRAM,工作頻率高達(dá)170MHz。
2.2 時(shí)鐘配置
2.3 GPIO配置
2.4 生成代碼
2.5 LED和按鈕引腳配置
2.6 獲取按鍵值函數(shù)編寫
/*獲取按鍵值*/ 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);//延時(shí)消抖 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 主函數(shù)
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); } }


??開發(fā)板本身集成ST_Link下載器,只需安裝ST_Link驅(qū)動即可直接下載。
審核編輯:湯梓紅
-
mcu
+關(guān)注
關(guān)注
146文章
17978瀏覽量
366685 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
364783 -
按鍵
+關(guān)注
關(guān)注
4文章
227瀏覽量
58070 -
開發(fā)板
+關(guān)注
關(guān)注
25文章
5679瀏覽量
104630
發(fā)布評論請先 登錄
STM32CubeMX stm32g431 PLLP無法被設(shè)置是怎么回事?
STM32G431無法輸出項(xiàng)目工程的原因?
stm32g431的PG10-NRST可以當(dāng)普通IO嗎?怎么設(shè)置?
配置STM32G431的FDCAN為普通CAN模式,為什么不能接收數(shù)據(jù)?
STM32F302K8U6和STM32G431中內(nèi)置的運(yùn)放 建立時(shí)間是多長?
STM32G431開發(fā)板免費(fèi)試用
【STM32G431試用申請】STM32G431在模擬前端板的替代
在什么溫度下可以檢測到STM32G431的TS_CAL2值呢?
如何使用STM32G431芯片做DAC應(yīng)用
STM32_按鍵點(diǎn)燈

評論