您的位置:首页 > 其它

CC2541 独立键盘中断触发

2015-05-13 13:17 190 查看
简单的小例子,两个按键引脚分别接到了P0_2 以及P1_7 引脚上,下降沿触发

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));
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: