求助为什么循环语句会重复循环一次
// Language ArduinoC#include "Sparki.h"
int _E7_BA_A2_E5_A4_96_E4_BC_A0_E6_84_9F_E5_99_A8;
void setup() {
}
void loop() {
_E7_BA_A2_E5_A4_96_E4_BC_A0_E6_84_9F_E5_99_A8 = sparki.readIR();
if (_E7_BA_A2_E5_A4_96_E4_BC_A0_E6_84_9F_E5_99_A8 > 0) {
Serial.println(_E7_BA_A2_E5_A4_96_E4_BC_A0_E6_84_9F_E5_99_A8);
}
if (_E7_BA_A2_E5_A4_96_E4_BC_A0_E6_84_9F_E5_99_A8 == 25) {
for(int i = 0; i < 3; i++){
sparki.RGB(20,0,0);
delay((1) * 1000);
sparki.RGB(0,0,0);
delay((1) * 1000);
}
}
_E7_BA_A2_E5_A4_96_E4_BC_A0_E6_84_9F_E5_99_A8 = 0;
delay((0) * 1000);
}
这是控制红外的一串代码,源代码如上。按理说这个循环语句循环五次就好了,但很奇怪的是她载入板子后程序在循环3次后会再一次循环3次.
相当于可以再一次检测到红外传感器=25,大家帮忙分析一下是什么原因 EMM
我没学过这类的
但是代码看着有点乱{:10_277:}
让我改改
// Language ArduinoC
#include "Sparki.h"
int n;
void setup() {
}
void loop() {
n = sparki.readIR();
if (n > 0) {
Serial.println(n);
}
if (n == 25) {
for(int i = 0; i < 3; i++){
sparki.RGB(20,0,0);
delay((1) * 1000);
sparki.RGB(0,0,0);
delay((1) * 1000);
}
}
n = 0;
delay((0) * 1000);
}
啊~舒服多了~
开始分析:
你的循环套在if里,可能是因为2次触发了条件。。。
陈尚涵 发表于 2021-5-4 10:35
EMM
我没学过这类的
但是代码看着有点乱
对的 就是2次触发了条件
问题就是不知道咋回事,目前给他在最后加了一个延时,暂时看起来程序是ok的{:10_269:}
页:
[1]