當(dāng)前位置:首頁 > 學(xué)習(xí)資源 > 講師博文 > stm32mp157 Cortex M4開發(fā)篇:使用GPIO掃描檢測按鍵
寫在前面:
本文章為《STM32MP1系列教程之Cortex-M4開發(fā)篇》系列中的一篇,全系列總計11篇。筆者使用的開發(fā)平臺為華清遠(yuǎn)見FS-MP1A開發(fā)板(STM32MP157開發(fā)板)。針對該開發(fā)平臺,后續(xù)會陸續(xù)更多更多系列教程,包括Cortex-A7開發(fā)篇、Cortex-M4開發(fā)篇、Linux應(yīng)用開發(fā)篇、Linux系統(tǒng)移植篇、Linux驅(qū)動開發(fā)篇、硬件設(shè)計篇、項目實戰(zhàn)篇等。歡迎關(guān)注,更多stm32mp157開發(fā)教程及視頻,可加技術(shù)交流Q群459754978,感謝關(guān)注。
FS-MP1A開發(fā)板詳情介紹:https://item.taobao.com/item.htm?id=622457259672
第 1 章Cortex-M4 按鍵掃描
1.1實驗?zāi)康?/p>
熟悉STM32CubeIDE工具軟件的使用。
掌握STM32CubeIDE軟件的基本設(shè)計流程和設(shè)計步驟,能夠使用工具進(jìn)行設(shè)計、編程、仿真調(diào)試。
學(xué)習(xí)GPIO口的使用方法,掌握如何利用STM32MP157A芯片的I/O口讀取按鍵狀態(tài)。
1.2實驗環(huán)境
FS_MP1A開發(fā)平臺
ST-Link仿真器
STM32CubeIDE開發(fā)軟件
PC機(jī) XP、Window7/10 (32/64bit)
1.3實驗原理
本實驗主要通過調(diào)用函數(shù)HAL_GPIO_ReadPin讀取開發(fā)板上按鍵K2的IO口狀態(tài),控制LED燈的點亮和關(guān)閉狀態(tài)。
該實驗需要使用到開發(fā)板上的LED燈,按鍵,相關(guān)硬件電路如下:
1.4實驗步驟
打開STM32CubeIDE->File->New->STM32 Project
可以在左側(cè)搜索框內(nèi)輸入芯片型號STM32MP157A進(jìn)行搜索,選擇對應(yīng)芯片,點擊Next
填寫工程名,點擊Finsh
點擊Yes打開配置頁面
搜索框內(nèi)搜索K2對應(yīng)GPIO引腳PA0,左鍵點擊設(shè)置為GPIO_Input
在Code Generator處選擇為每個外設(shè)生成單獨的C和H文件,這樣設(shè)置方便閱讀代碼
完成以上設(shè)置后,Ctrl+S保存,會提示是否需要生成代碼,選擇Yes即可自動生成代碼。系統(tǒng)會自動生成System Clock代碼
可以在左側(cè)工程文件夾找到KEY_CM4子工程,打開main.c
添加GPIO初始化函數(shù),初始化LED燈引腳PZ5為輸出模式,初始化K2引腳PA0為輸入模式
在main.c中調(diào)用GPIO初始化函數(shù),在while循環(huán)中添加GPIO讀函數(shù),判斷K2引腳高低電平,改變LED燈狀態(tài)
上述為新建工程配置過程,可參考16.3.2章節(jié)進(jìn)行導(dǎo)入已有工程,工程存放路徑【華清遠(yuǎn)見-FS_MP1A開發(fā)資料\02-程序源碼\ARM體系結(jié)構(gòu)與接口技術(shù)\Cortex-M4部分\2_KEY】
配置完成或?qū)牍こ毯筮M(jìn)行程序下載,具體步驟參考16.3.3節(jié)進(jìn)行開發(fā)板連接,程序編譯、下載
1.5實驗現(xiàn)象
按下K2鍵,可看到LED燈狀態(tài)發(fā)生改變