nRF52832 GPIOTE EVENT中断使用

来源:互联网 发布:35岁程序员 编辑:程序博客网 时间:2024/06/07 22:26

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