查看: 2148|回复: 8

新人求助

[复制链接]

该用户从未签到

发表于 2018-10-28 17:09:17 | 显示全部楼层 |阅读模式
分享到:
刚接触,求大神指导一下现在按下PB8,PC13会输出高电平了
如何按一下PB8,PC13会一直输出高电平呢?
我还想增加一个PB7,按一下PB7,PC13会输出低电平
实现按一下PB8灯亮,按一下PB7灯灭

int KEY = PB8;
int iLed = PC13;


void setup()
{
  pinMode(PB8, INPUT);  
  pinMode(iLed, OUTPUT);  
}


void loop() {
  
  digitalWrite(PC13,LOW);
  if(digitalRead(PB8)==LOW) {
  delay(100);
  if(digitalRead(PB8)==LOW) {
  digitalWrite(PC13,HIGH);
  while(digitalRead(PB8)==LOW) {


    }
  }
  }
}


回复

使用道具 举报

  • TA的每日心情
    开心
    2024-1-16 17:48
  • 签到天数: 592 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2018-10-29 03:22:13 | 显示全部楼层
    int KEY = PB8;
    int iLed = PC13;

    void setup()
    {
      pinMode(PB8, INPUT);  
      pinMode(PB7, INPUT);         //新增
      pinMode(iLed, OUTPUT);
      digitalWrite(PC13,LOW);     //新增
    }

    void loop() {                         //整个loop全部改,按PB8灯亮,按PB7灭
      if(digitalRead(PB8)==LOW) {
        delay(20);
        if(digitalRead(PB8)==LOW) { digitalWrite(PC13,HIGH);}
      }
      if(digitalRead(PB7)==LOW) {
        delay(20);
        if(digitalRead(PB7)==LOW) { digitalWrite(PC13,LOW);}
      }
    }
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    昨天 16:48
  • 签到天数: 1056 天

    连续签到: 3 天

    [LV.10]以坛为家III

    发表于 2018-10-29 08:10:22 | 显示全部楼层
    void setup()
    {
      pinMode(PB8, INPUT);   
      pinMode(PB7, INPUT);
      pinMode(iLed, OUTPUT);  
    }


    void loop()
    {
      
            digitalWrite(PC13,LOW);
           
            while(1)
            {
                    if((digitalRead(PB7)==LOW)&(digitalRead(PB8)==HIGH))
                    {
                            delay(10);
                            if((digitalRead(PB7)==LOW)&(digitalRead(PB8)==HIGH))
                            {
                                    digitalWrite(PC13,LOW);
                            }
                    }
                    else if((digitalRead(PB8)==LOW)&(digitalRead(PB7)==HIGH))
                    {
                            delay(10);
                            if((digitalRead(PB8)==LOW)&(digitalRead(PB7)==HIGH))
                            {
                                    digitalWrite(PC13,HIGH);
                            }
                    }
            }
    }

    供参考,希望能帮到你
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2018-10-29 15:27:25 | 显示全部楼层
    robe.zhang 发表于 2018-10-29 03:22
    int KEY = PB8;
    int iLed = PC13;

    感谢大佬的解答~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    3 天前
  • 签到天数: 43 天

    连续签到: 1 天

    [LV.5]常住居民I

    发表于 2018-10-29 15:27:30 | 显示全部楼层
    TLLED 发表于 2018-10-29 08:10
    void setup()
    {
      pinMode(PB8, INPUT);   

    感谢大佬的解答~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-10-29 18:13:38 | 显示全部楼层
    robe.zhang 发表于 2018-10-29 03:22
    int KEY = PB8;
    int iLed = PC13;

    多谢大佬回复,估计我的板子有问题了,灯会闪动,今天修显示器已经摸坏一块板子了。。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-10-29 18:17:19 | 显示全部楼层
    TLLED 发表于 2018-10-29 08:10
    void setup()
    {
      pinMode(PB8, INPUT);   

    多谢大佬回复,估计我的板子有问题了。。。今早先刷的您回复的,挺稳定的。现在会自己亮灭。不是干扰就是我板子有问题了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-10-29 18:19:14 | 显示全部楼层
    satoll 发表于 2018-10-29 15:27
    感谢大佬的解答~

    感谢管理关心
    回复 支持 反对

    使用道具 举报

    该用户从未签到

     楼主| 发表于 2018-10-30 18:51:09 | 显示全部楼层
    robe.zhang 发表于 2018-10-29 03:22
    int KEY = PB8;
    int iLed = PC13;

    经验证完全可行,感谢大佬帮助
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-4-25 09:34 , Processed in 0.164073 second(s), 30 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.