中斷相關函數見”core_cm4.h”頭文件,例子:
GPIOTE_Events_En(GPIOTE_Ch_1); 使能GPIOE通道1
GPIOTE_Events_All_En(); 使能所有event事件
NVIC_SetPriority(GPIOTE_IRQn,0); 設置GPIOTE中斷等級
NVIC_EnableIRQ(GPIOTE_IRQn); 使能GPIOTE中斷
注意:先便利哪個EVENT被觸發了,EVETS_IN數組是否爲1,如爲1則被觸發.
當然也可以軟件置1觸發EVENT
void GPIOTE_IRQHandler()
{
int i;
for(i = 0;i < sizeof(NRF_GPIOTE->EVENTS_IN)/sizeof(*(NRF_GPIOTE->EVENTS_IN));i++){
if(NRF_GPIOTE->EVENTS_IN[i]){
NRF_GPIOTE->EVENTS_IN[i] = 0;
}
}
}