nRF58122中app_button 的應用

來源:互聯網
上載者:User

標籤:style   color   使用   strong   io   art   

Button Handler(按鍵處理常式)

按鍵處理常式是使用GPIOTE(GPIO Task and Event)的處理機制實現的,為了防止按鍵的抖動,在GPIOTE event(事件)處理常式中開啟了定時器。在定時器逾時後,按鍵對應的引腳仍然是有效(按鍵一直被按下),按鍵按下的事件才會報告給應用程式。當定時器正處於啟動並執行過程中,又產生了一個新的GPIOTE 事件,定時器會重新啟動。另外在APP_BUTTON_INIT() 宏定義中,參數 USE_SCHEDULER表示是否使用Scheduler(不知道這個Scheduler是幹嘛用的,以後研究到了再說)。

注意:按鍵處理常式中的定時器使用的是虛擬定時器(app_timer),並不是使用外設定時器( RTC0,RT1,TIM0, TIM1, TIM2,), 使用者使用的時候必須保證緩衝(queue)足夠大,這樣才能保持在GPIOTE模組的事件(event)中 進行 app_timer_stop() / app_timer_start()操作。即使scheduler 沒有使用,也需要在app_button.h 中包含app_scheduler.h, 因此當編譯的時候, app_scheduler.h必須包含在編譯器的路徑中(include paths)。 


在app_ble_hrs程式中,最終通過button_handler_execute函數中的p_btn->button_handler(p_btn->pin_no)調用實現了對按鍵的處理。



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.