微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > CC2541 独立键盘中断触发程序例程

CC2541 独立键盘中断触发程序例程

时间:10-02 整理:3721RD 点击:

CC2541 独立键盘中断触发程序例程


一个CC2541 独立键盘中断触发小例子,把两个按键引脚分别接到了P0_2 以及P1_7 引脚上,下降沿触发
[cpp] view plain copy 在CODE上查看代码片派生到我的代码片
void KeyInit()  
{  
  /**********  按键相关设置 : P0_2  右键{ 唤醒键 }**********/   
  P0IFG =0; // 清除标志位   
  P0IF = 0; // 清除标志位  
  P0SEL &= (~0x04); // 设置为普通IO  
  P0DIR &= (~0x04); // 设置为输入方式  
  P0IEN |= 0x04;    // 开启中断  
  PICTL |= 0x01;    // 下降沿触发  
  IEN1 |=0X20;      // 使能P0 中断  
  /*********** 按键相关设置 :P1_7  左键 { 设置键 }**********/   
  P1IFG=0;  
  P1IF=0;  
  P1SEL &= (~(1<<7));  
  P1DIR &= (~(1<<7));  
  P1INP &= (~(1<<7));      
  P1IEN |= (1<<7);  
  PICTL |= (1<<1);  
  IEN2 |= (1<<4);   
  EA=1;             // 开启总中断  
  /***************************************/  
}  
#pragma vector=P0INT_VECTOR     
__interrupt void Key_ISR(void)  
{  
   //if(P0IFG&0x04)  
   UartSend_String(buf,sizeof("123456789\n")); //串口发送数据  
   P0IFG=0;  
   P0IF=0;  
}  
#pragma vector = P1INT_VECTOR   
__interrupt void Key2_ISR(void)  
{  
  if(P1IFG&0x80)  
  UartSend_String(buf,sizeof("123456789\n")); //串口发送数据  
  P1IFG =(~(0x80));   
  P1IF = (~(0x80));  
}  

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top