【发布时间】:2019-11-14 05:25:33
【问题描述】:
我正在尝试执行以下操作:
按键A被按下,蜂鸣器静音。
按下按钮B,蜂鸣器以预定频率开启。
什么有效:
int buttonApin = 9;
int buttonBpin = 8;
int buzzer = 12;
void setup() {
///put everything to output
}
void loop() {
if (digitalRead(buttonApin) == LOW)
{
digitalWrite(buzzer, LOW);
}
if (digitalRead(buttonBpin == LOW)
{
digitalWrite(buzzer, HIGH);
}
这很好用。我按下按钮 A,没有声音,然后我按下按钮 B,蜂鸣器亮并一直亮,直到我再次按下 A。
我的问题是当我将 "digitalWrite(buzzer, High); 替换为以下内容时:
{
digitalWrite(buzzer, HIGH);
delay(1000);
digitalWrite(buzzer, LOW);
delay(1000);
}
当我这样做并按下按钮 B 时,蜂鸣器只会鸣响 1 秒钟。但是,当我按住蜂鸣器时,它会按需要执行。我怎样才能让蜂鸣器继续在高低之间振荡,而不必按住按钮 B,直到我再次按下按钮 A 发出停止信号?
【问题讨论】:
标签: c++ c arduino arduino-uno