8回答

1收藏

新人求助

STMCU STMCU 2753 人阅读 | 8 人回复 | 2018-10-28

刚接触,求大神指导一下现在按下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) {


    }
  }
  }
}


分享到:
回复

使用道具 举报

回答|共 8 个

倒序浏览

沙发

robe.zhang

发表于 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);}
  }
}
板凳

TLLED

发表于 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);
                        }
                }
        }
}

供参考,希望能帮到你
地板

satoll

发表于 2018-10-29 15:27:25 | 只看该作者

robe.zhang 发表于 2018-10-29 03:22
int KEY = PB8;
int iLed = PC13;

感谢大佬的解答~
5#

satoll

发表于 2018-10-29 15:27:30 | 只看该作者

TLLED 发表于 2018-10-29 08:10
void setup()
{
  pinMode(PB8, INPUT);   

感谢大佬的解答~
6#

yqhuoge

发表于 2018-10-29 18:13:38 | 只看该作者

robe.zhang 发表于 2018-10-29 03:22
int KEY = PB8;
int iLed = PC13;

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

yqhuoge

发表于 2018-10-29 18:17:19 | 只看该作者

TLLED 发表于 2018-10-29 08:10
void setup()
{
  pinMode(PB8, INPUT);   

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

yqhuoge

发表于 2018-10-29 18:19:14 | 只看该作者

satoll 发表于 2018-10-29 15:27
感谢大佬的解答~

感谢管理关心
9#

yqhuoge

发表于 2018-10-30 18:51:09 | 只看该作者

robe.zhang 发表于 2018-10-29 03:22
int KEY = PB8;
int iLed = PC13;

经验证完全可行,感谢大佬帮助
您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

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