0

我的 arduino 代码有问题,我试图让 arduino 每次收到上升信号时将一个值加一。在一定数量的上升信号后,在本例中为 30,它将激活其余代码。我一直在尝试使用来自按钮的信号对此进行测试,但是,每次按下按钮时,我的计数都会呈指数增长并提前激活循环。另一个问题是,在完成其余代码后重置计数器不会阻止它在下一个循环中重新进入 if 语句。任何意见,将不胜感激。

int pin = 3;
int count = 0;

void setup() {
  pinMode(pin, INPUT);
  attachInterrupt(digitalPinToInterrupt(pin), buttonPinInterrupt, RISING);
}

void loop() {
  if(count >= 30){
     noInterrupts();
     //Rest of code
     count = 0;
     interrupts();
  }
}

void buttonPinInterrupt()
{
  count++;
}
4

0 回答 0