嘤鸣求友 发表于 2013-3-27 11:03:17

按键中断问题【基础,含完整源代码和注释】

#include <ioCC2530.h>

#define uint unsigned int
#define uchar unsigned char

#define LED1 P1_0
#define LED2 P1_1

#define KEY1 P0_1
#define KEY2 P2_0
#define KEY3 P1_2//以上的定义都是与硬件相关的,经测试没有问题

void Delyams(uint);
void InitLed(void);
void InitKey();
//uchar KeyScan();
uchar KeyValue=0;


void Delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
    for(j=587;j>0;j--);
}

void Delay(uint n)
{
        uint i;
        for(i = 0;i<n;i++);
      for(i = 0;i<n;i++);
      for(i = 0;i<n;i++);
      for(i = 0;i<n;i++);
      for(i = 0;i<n;i++);
}

void InitLed(void)
{
P1DIR |=0x03;//注意此处
LED1=0;
LED2=1;
}

void InitKey()
{

P0IEN |= 0x01;//中断掩码寄存器,Px口上为1的为开中断
PICTL |= 0x01;//下降沿触发
IEN1 |= 0x20;//允许P0口中断
P0IFG = 0x00;//初始化中断标志位
EA=1;

}


#pragma vector = P0INT_VECTOR
__interrupt void P0_ISR(void)
{
Delayms(10);
LED1=~LED1;
P0IFG=0;
P0IF=0;
}

void main(void)
{
InitLed();
InitKey();
while(1);
}问题描述:这是我玩CC2530中出的问题,我是参照其它函数,现在就是硬件端口有问题,请问我哪儿设置错了?
还有,有没有高手、前辈有相关硬件方面的知识资料,能否提供链接什么的,比如各种使能寄存器的作用什么……{:3_59:}
页: [1]
查看完整版本: 按键中断问题【基础,含完整源代码和注释】