物联网技术
直播中

房浩然

7年用户 33经验值
擅长:传感器网络
私信 关注
[问答]

CC2530 编程“按键控制LED亮灭”,按下按键led无反应

如题,在CC2530 编程“按键控制LED亮灭”,使用按键S3控制LED2的亮灭,但按下按键后led无反应,请教是哪里出了问题?代码和按键、led灯接口如下所示,谢谢各位!
/*************************
程序描述:一次按下按键S3(key3)改变LED2亮和灭
*************************/
#include

#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;
  }
}




附件: 您需要登录才可以下载或查看附件。没有帐号?注册

回帖(1)

房浩然

2018-3-11 22:41:29
检查配置没有问题,硬件cc2530模块也可以正常运行其他程序,再次求教各位大神!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分