gpt4 book ai didi

c - Arduino 代码 — while(0) 有什么用?

转载 作者:行者123 更新时间:2023-11-30 16:40:28 25 4
gpt4 key购买 nike

const int buttonPin = 2;    
int buttonState = 0;

void setup() {
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}

void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial.println("1");
buttonState=LOW;
delay(20000);
while(0);
}
}

代码基本上是这样工作的:

  • 按钮引脚的数量
  • 用于读取按钮状态的变量
  • 将按钮引脚初始化为输入:
  • 读取按钮值的状态:
  • 检查按钮是否被按下。如果是,则buttonState为高电平:通过蓝牙发送字符1:

我有一个 Arduino、HC 06 蓝牙模块、一个按钮和一个在按下按钮时调用电话的应用程序(HC 06 向应用程序发送一个字节 1)

我的问题是,while (0); 的用途是什么?

----原始代码---- const int 红外传感器 = 2; int 运动状态 = 0;

void setup() {
Serial.begin(9600);
pinMode(PirSensor, INPUT);
}

void loop() {
motionState = digitalRead(PirSensor);
if (motionState == HIGH) {
Serial.println("1");
motionState = LOW;
delay(20000);
// while(0);
}

}

最佳答案

如果我没有记错的话,在这种情况下什么也没有。

在大多数计算机编程语言中,while 循环是一种控制流语句,允许根据给定的 bool 条件重复执行代码。 while 循环可以被认为是一个重复的 if 语句。

请注意,如果确实有条件,则 while 循环必须有一个退出选项,如下所示:

const int buttonPin = 2;    
int buttonState = 0;

void setup() {
Serial.begin(9600);
pinMode(buttonPin, INPUT);
}

void loop() {
buttonState = digitalRead(buttonPin);
if (buttonState == HIGH) {
Serial.println("1");
buttonState=LOW;
delay(20000);
int a =0;
while(a==0){
if (something)
a=1;
}
}
}

然后根据您选择的条件,您将退出循环。

关于c - Arduino 代码 — while(0) 有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46624337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com