nrf52832之GPIOTE

GPIOTE模塊


gpio無法把輸入設置爲中斷觸發,gpiote則可以。gpiote有8個通道,每個通道可以分配給1個引腳,此引腳可以是任務模式或者事件模式

gpiote任務模式可以置位,清零,翻轉io,優先級從高到低,假如同時發生的情況下
gpiote事件模式可以上升沿,下降沿,任意邊沿觸發,優先級從高到低

port事件可以喚醒系統,上升沿,下降沿,電平變化都可以觸發。配置流程:先禁止,配置,清標誌位,使能,目的是怕產生誤觸發。

輸入可以設置高精度,低精度/低功耗
高精度:1個通道檢測一個gpio,需要高頻時鐘
低精度:port事件

注意:通道是程序自動分配的,無法在程序裏面指定通道,如果通道用完了則返回錯誤碼。看函數解釋就知道了

先nrf_drv_gpiote_init()初始化gpiote模塊,配置引腳,指定初始值和動作(這一步如果沒有綁定到任務輸出,則仍然按照GPIO訪問),nrf_drv_gpiote_out_init(),最後通過nrf_drv_gpiote_out_task_enable(),否則觸發任務無效(只能通過nrfx_gpiote_out_toggle訪問),有效之後則可以nrf_drv_gpiote_set_task_trigger訪問

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章