nrf52832之PPI

什麼是PPI

1.可編程外設互聯,把事件和任務連接起來,自動觸發任務,無需CPU參與。類似DMA效果
2.總共32個PPI通道,(0-19)供用戶編程使用,(20-31)已經預編程了,可以添加到組,可以打開或關閉
3.框圖如下所示
在這裏插入圖片描述
4.在每個PPI通道上,信號與16M時鐘同步,與16M同步事件延遲一個週期,異步事件最多延遲一個週期,快捷方式不會被延遲
5.PPI寄存器可以通過PPI觸發,例如CHG0EN
6.有6個PPI組CHG[0]-CHG[5],把通道加入group實現批量管理.比如:組0加入了3個通道,tasks_chg[0]觸發後,3個通道同時使能了,tasks_chg[0].dis觸發後,3個通道同時禁止了
7.當一個ppi通道同時屬於2個組,如果chg[m].en和chg[n].dis同時發送,en優先執行
8.ppi只有任務寄存器(使能和失能分組)和通用寄存器(控制寄存器)
9.程序員無法指定用哪個ppi通道,只能調用函數獲取
10.nrf_drv_ppi_channel_assign(),這裏如何指定事件和任務的地址?查看寄存器手冊或者nrf_drv_timer_event_address_get獲取(gpiote的中間timer那裏改下就行)
11.次級任務端點也可以配置一個任務,任務地址那裏寫入地址就是使能,寫入0就是禁止
12.ppi組也是要先申請,然後把ppi通道加入組,使能該組就可以使用了
13.使用ppi時,gpiote輸入那裏不需要註冊回調函數

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