nrf51822中app_button 的應用

來源:互聯網
上載者:User

標籤:rgb   time   ext   stop   hand   start   定時器   color   ppi   

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)調用實現了對按鍵的處理。



nrf51822中app_button 的應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.