nRF52832 GPIOTE EVENT中断使用

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

你可能感兴趣的:(nRF52832)