一个外部中断代码,看了近一个小时,真心觉得TI的CC2530设计思想不如三星,有关中断的那些寄存器被他们设计的乱七八糟的。不吐槽了,上代码吧,欢迎大家拍砖!
#include <ioCC2530.h>
#define uchar unsigned char
#define uint unsigned int
#define LED P1_0
#define KEY P0_1
void delayMs(uint t)
{
uint i, j;
for(i=0; i<535; i++){
for(j=t; j>0; j--);
}
}
void ledInit(void)
{
P1DIR |= 0x01; //设置P1.0为输出
P1 |= 0x01; //关闭led
}
void keyInit(void)
{
P0IEN |= 0x2; //P0.1中断使能
PICTL |= 0x1; //下降沿触发
IEN1 |= 0x20; //使能P0口中断
P0IFG = 0x00; //初始化中断标志位
EA = 1; //打开总中断
}
#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
{
LED = ~LED; //改变LED1状态
P0IFG = 0; //清中断标志
P0IF = 0; //清中断标志
}
void main(void)
{
ledInit();
keyInit();
while(1);
}