if函式沒有動作?-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2410|回复: 3

[未解决] if函式沒有動作?

[复制链接]
发表于 2021-5-25 10:25 | 显示全部楼层 |阅读模式
大家好,我想用arduino做一個計時器,但是以下標紅字的兩個if函數完全沒有動作,請大神們幫我debug,謝謝



#include <SevenSegmentExtended.h>
#include <SevenSegmentTM1637.h>

#include <a21.hpp>

using namespace a21;
EC11 encoder;


const int A = 2; //旋轉編碼器腳位
const int B = 3;

const byte CLK = 4; //4bit七段
const byte DIO = 5;   
SevenSegmentExtended    display(CLK,DIO);

const int swpin = 8;
byte relay = 7;

void setup() {
  pinMode(A, INPUT_PULLUP);
  pinMode(B, INPUT_PULLUP);
  pinMode(swpin, INPUT_PULLUP);
  pinMode(relay, OUTPUT);
  display.begin();
  display.setBacklight(60); //亮度
  display.printNumber(300);
  delay(1000);
}

static int value = 300;

void loop() {
  EC11Event e;
  if (encoder.read(&e)) {

    if (e.type == EC11Event::StepCW) {
      value += e.count;
    } else {
      value -= e.count;
    }

    display.printNumber(value);

   }

    if(swpin==LOW){  //按下按鈕開始倒數
    delay(100);
    digitalWrite(relay, HIGH);
    timer();  
    digitalWrite(relay,LOW);
    }
    if(value==0 && swpin==LOW){  //重設時間
    delay(100);
    value=300;
  }

    for (int i = 0; i < 200; i++) {
    encoder.checkPins(digitalRead(A), digitalRead(B));
    delay(1);
  }

}
void timer(){     //一秒減1,顯示在七段上
  for(value ; value>0 ; value--){
    display.printNumber(value);
    delay(1000);
  }


}



发表于 2021-5-25 15:19 | 显示全部楼层
本帖最后由 rh902999 于 2021-5-25 15:22 编辑

高底电平判断应用digitalread
   
if(digitalread(swpin)==LOW){
 楼主| 发表于 2021-5-25 16:20 | 显示全部楼层
本帖最后由 ryywh45 于 2021-5-26 13:39 编辑
rh902999 发表于 2021-5-25 15:19
高底电平判断应用digitalread
   
if(digitalread(swpin)==LOW){

非常謝謝!真是一語點醒我,剛修改了,倒計時可以運作,
但是重設時間那個函數只在一開始有成功觸發
後來就完全失效了,重新上傳程式碼也是一樣,請問大佬這是什麼情況?

if(value==0 && digitalRead(swpin)==LOW) //重設時間
{
    delay(100);
    value=300;
    delay(300);
}
 楼主| 发表于 2021-5-26 18:18 | 显示全部楼层
推個,請教各位大佬!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-29 05:42 , Processed in 0.073203 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表