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));
}
中断 相关文章: