按键中断问题【基础,含完整源代码和注释】
#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]