中断相关函数见”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;
}
}
}