- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
CC2530 编程“按键控制LED亮灭”,按下按键led无反应
录入:edatop.com 点击:
如题,在CC2530 编程“按键控制LED亮灭”,使用按键S3控制LED2的亮灭,但按下按键后led无反应,请教是哪里出了问题?代码和按键、led灯接口如下所示,谢谢各位!
/*************************
程序描述:一次按下按键S3(key3)改变LED2亮和灭
*************************/
#include<iocc2530.h>
#define uint unsigned int
#define uchar unsigned char
#define LED2 P0_1
#define KEY3 P1_1
void Delayms(uint);
void InitLed(void);
void InitKey();
uchar KeyScan();
void Delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=587;j>0;j--);
}
void InitLed(void)
{
P0SEL &=~0X02; //P0_1普通IO
P0DIR |=0X02; //输出
P0INP |=0X02; //下拉
LED2=1; //LED2灯熄灭
}
void InitKey()
{
P1SEL &=~0X02; //P1_1普通IO
P1DIR &=~0X02; //输入
P1INP &=~0X02; //打开上拉电阻,不影响
}
uchar KeyScan(void)
{
if(KEY3==0)
{
Delayms(10); //去抖动
if(KEY3==0)
{
while(!KEY3); //松手检测
return 1; //有按键按下
}
}
return 0; //无按键按下
}
void main(void)
{
InitLed();
InitKey();
while(1)
{
if(KeyScan()) //按键改变LED状态
LED2=~LED2;
}
}
检查配置没有问题,硬件cc2530模块也可以正常运行其他程序,再次求教各位大神!
上一篇:一个ZigBee终端连接两个传感器该如何把数据发送给协调器呢
下一篇:无线小白,求一款能做433Mhz的无线模块或芯片