gpt4 book ai didi

c - 有关串行打印的帮助 (Arduino C)

转载 作者:行者123 更新时间:2023-11-30 17:26:01 25 4
gpt4 key购买 nike

void loop() {
photoCell = analogRead(pin);
time = millis();

if (photoCell >= 400){
timeon = millis();
led = 1;
while (analogRead(pin) >= 400) {
timer = millis() - timeon;
//Serial.print("On");
//Serial.println(timer);

}
}

if (photoCell <= 400) {
timeoff = millis();
led = 0;
while (analogRead(pin) <= 400) {
timer2 = millis() - timeoff;
//Serial.print("Off");
//Serial.println(timer2);

}
}

if (timer >= 175 && timer <= 200 && led == 1) {
Serial.print("Char = ");
Serial.println(".");
codearray[i] = 8;
i++;
}
if (timer >= 580 && timer <= 600 && led == 1) {
Serial.print("Char = ");
Serial.println("-");
codearray[i] = 9;
i++;
}

这是我当前的代码,使用插入 A0 的光电管和连接到引脚 9 的 LED 可以正常工作。串行监视器根据时间显示我是否在闪烁点或破折号、莫尔斯电码。

但是..当我添加这段代码时

if (codearray[0] == 8 && codearray[1] == 8 && 
codearray[2] == 8 && codearray[3] == 0) {
Serial.print("s");
}

显示器没有打印任何内容。这段代码填充了我设置的一个数组,这样我就可以按字母顺序打印出已破译的莫尔斯电码。我很确定我的逻辑是正确的。

看看是否有人理解为什么第二位代码会与第一位代码冲突,或者模拟输入或串行监视器可能出现什么问题。

最佳答案

你的问题在这里偏离主题;可能属于堆栈溢出。

但是很明显你忘记调用 Serial.Begin(9600);在设置()中;注: 9600是arduino默认波特率。

关于c - 有关串行打印的帮助 (Arduino C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26907869/

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