kbi.c

来自「利用MC13213做的基于SMAC的接受并发送到串口的程序.可作为点对点实验中的」· C语言 代码 · 共 56 行

C
56
字号
#include "freescale_radio_hardware.h"
#include "kbi.h"
#include "eventDefs.h"

extern UINT16 gu16Events;
extern UINT16 gu16msTimer;
extern UINT16 gu16timerEvent[2];

interrupt void KBIisr (void) {

   UINT8 u8keys;
   

   u8keys = ~PTAD;
   
   /* Still in debounce time - just return */
   if (gu16timerEvent[1] != 0) {
      KBI1SC_KBACK = 1;
      return;
   }
      
   if ((u8keys & KBI_SW1) == KBI_SW1) {
      gu16timerEvent[1] = gu16msTimer + KBI_DEBOUNCE;
      gu16Events |= KBI2_EVENT;
   }
   
  // if ((u8keys & KBI_SW2) == KBI_SW2) {
  //    gu16timerEvent[1] = gu16msTimer + KBI_DEBOUNCE;    
	   gu16Events |= KBI3_EVENT;
  // }
   
   if ((u8keys & KBI_SW3) == KBI_SW3) {
      gu16timerEvent[1] = gu16msTimer + KBI_DEBOUNCE;
      gu16Events |= KBI4_EVENT;
   }
   
   if ((u8keys & KBI_SW4) == KBI_SW4) {
      gu16timerEvent[1] = gu16msTimer + KBI_DEBOUNCE;    
	   gu16Events |= KBI5_EVENT;
   }
   
   KBI1SC_KBACK = 1; 
   
}
void KBIInit(void) {

     PB0IE = 1;  /* Enable KBI PB0 */
     PB1IE = 1;
     PB2IE = 1;
     PB3IE = 1;
     
           
     
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?