STM32 基础系列教程 2 - GPIO 按键输入
前言
學習stm32 GPIO 的使用,實現簡單的按鍵輸入功能,用按鍵的高低來控制LED的亮滅!
?
示例詳解
基于硬件平臺: STM32F10C8T6最小系統板, MCU 的型號是?STM32F103c8t6, 使用stm32cubemx 工具自動產生的配置工程,使用KEIL5編譯代碼。將PA0引腳設置成輸入引腳,程序得到PA0引腳的(按鍵操作)輸入狀態,并根據其輸入電平的高低來控制PC13輸出,來控制LED,實現按一次LED亮,再按一下,LED滅的功能。
?
?
本示例所用的最小系統板原理圖:
?
?
?
?
在界面左側單擊Code Generator項,將其設置成如下圖所示( 只拷貝所需文件到工程,為每個接口生成獨立的初始化頭文件和源文件,將所有未使用的引腳設為模擬輸入)。
?
?
?
?
接著選“flash Download”頁,勾選“Reset and Run”,并確保其它內容如下圖所示:
設置完上述設置后,便可進行下載操作,將調試仿真工具中的與最小系統板連接好,在工程中點Download 按鈕,或按F8快捷鍵進入下載,下載完成后會出現如下圖所示提示信息。
if( HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) == GPIO_PIN_RESET )
{
????? HAL_Delay(50);? // 按鍵消抖延時
????? if( HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) == GPIO_PIN_RESET )
????? {
?????????? HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);
?????????? // 等待按鍵釋放
?????????? while(HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0) == GPIO_PIN_RESET);
????? }
}
?
?
OK,本期實驗完成!下期見!同時如果大家有什么疑問或是有想了解的其它內容,也歡迎大家留言!!最后喜歡這個公眾號的同學們記得加關注了,每天都會有技術干貨推出!!
?
文中資料下載,在公眾號里給十三發消息:
下載|STM32基礎系列教程2
?
關注十三公眾號
?
?
?
總結
以上是生活随笔為你收集整理的STM32 基础系列教程 2 - GPIO 按键输入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: STM32 基础系列教程 1- Cube
- 下一篇: STM32 基础系列教程 3 – 外部中