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;
    }
  }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章