拜托了!??!請問當(dāng)當(dāng)一個(gè)按鍵按下,例如PB5,內(nèi)核如何知道有人按了按鍵,也就是如何知道應(yīng)該去輪詢讀輸入寄存器的值?arm是分配了中斷,這個(gè)芯片就注冊一個(gè)任務(wù)就OK不用管了?
查看: 641
回復(fù): 1
求助。BLE的鼠標(biāo)按鍵。CH57X58X是怎么知道的,響應(yīng)原理是什么?
熱門產(chǎn)品 :
CH32X035: 32位USB+USB PD單片機(jī)
您好,TMOS系統(tǒng)中是啟用一個(gè)事件去查詢按鍵的,默認(rèn)100ms查詢一次。啟用GPIO中斷也可以,PM例程中就有GPIO中斷的應(yīng)用,查詢代碼需要自行添加。
啟用按鍵查詢,先要在工程配置中添加HAL_KEY,以及確保KEY.c添加進(jìn)編譯。
然后添加按鍵處理函數(shù),函數(shù)名自擬,但是形參須為(uint8_t keys),調(diào)用HalKeyConfig函數(shù)注冊一下。
這樣默認(rèn)代碼中配置好了PB22和PB4兩個(gè)按鍵,如上圖添加,評估板上用PB4作為按鍵,就已經(jīng)可以跑起來。如果需要更多按鍵,可以如下圖添加處理,下圖中添加到了總計(jì)5個(gè)按鍵,可以添加B組引腳,也可以添加A組引腳。
在KEY.c中需要做如下修改。
在KEY.h中需要做如下修改。
打印如下,支持同時(shí)檢測多個(gè)按鍵按下。
請勿發(fā)布廣告和違法內(nèi)容, 代碼可以選擇編輯器代碼語言格式, 更易他人閱讀幫助您, 或者留下聯(lián)系方式,以便更好更快服務(wù)您
只有登錄才能回復(fù),可以選擇微信賬號登錄