首页 > 解决方案 > 使用 Serial.print 的 Arduino 无限循环

问题描述

该程序应该在串行监视器中检测用户输入,然后输出相同的内容,但在句尾带有句点。

但由于某种原因,我下面的代码甚至在我开始输入之前就打印出无限的点:

char incoming;

void setup() {
  
  Serial.begin(9600); // Select baud
}

void loop() {
  
  if (Serial.available() > 0){ // Check if serial is empty
      incoming = Serial.read();// Set incoming as the input
      Serial.print(incoming);// Prints input
  }

  if (bool con=true){
      con=false;
      Serial.print(".");
    }
}

我该如何解决这个问题?任何帮助表示赞赏。

标签: cloopsprintingarduinoarduino-uno

解决方案


如果您想在给定输入后添加一个点。只需执行以下操作:

char incoming;

void setup() {
  
  Serial.begin(9600); // Select baud
}

void loop() {
  
  if (Serial.available() > 0){ // Check if serial is empty
      incoming = Serial.read();// Set incoming as the input
      Serial.print(incoming + ".");// Prints input with dot

  }
}

我认为这就是您想要的输出:

输入:一个句子 输出:一个句子。


推荐阅读