📜  如何在 arduino 中打印项目 - C++ (1)

📅  最后修改于: 2023-12-03 15:24:07.184000             🧑  作者: Mango

如何在 Arduino 中打印项目 - C++

展示输出

在 Arduino 中,我们可以使用 Serial 库来在串行监视器(Serial Monitor)中输出消息。要使用它,您需要在 setup 函数中进行初始化:

void setup() {
    Serial.begin(9600);
}

接下来,在 loop 函数中,您可以使用 Serial.println() 函数将消息输出到串行监视器:

void loop() {
    int sensorValue = analogRead(A0);
    Serial.print("Sensor value: ");
    Serial.println(sensorValue);
    delay(1000);
}

在此示例中,我们将模拟输入引脚 A0 中的值读取到 sensorValue 变量中,并使用 Serial.print()Serial.println() 将该值输出到串行监视器。最后,我们使用 delay() 函数暂停代码 1 秒钟,以便您可以在串行监视器中看到输出。

格式化输出

您可能会需要在串行监视器中格式化输出消息。例如,您可能想要以某种格式输出浮点数。这时,您可以使用 Serial.print() 函数的 printf() 格式化选项:

void loop() {
    float temperature = 26.7;
    Serial.print("Current temperature: ");
    Serial.printf("%.2f", temperature);
    Serial.println(" °C");
    delay(1000);
}

在此示例中,我们定义了变量 temperature,并使用 Serial.printf() 函数的格式说明符(%.2f)将其格式化为保留两位小数的浮点数。最后,我们使用 Serial.println() 将 °C 附加到消息的末尾。

调试技巧

在开发 Arduino 项目时,您可能需要打印变量的值以调试代码。您可以在 loop 函数中使用 Serial.println() 输出变量的值,例如:

void loop() {
    int sensorValue = analogRead(A0);
    Serial.print("Sensor value: ");
    Serial.println(sensorValue);
    delay(1000);
}

不幸的是,这可能会导致输出被淹没(drown out)。您可以使用以下技巧来改善:

  • 使用 Serial.begin() 函数的第二个参数限制输出速率,例如 Serial.begin(9600, SERIAL_8N1)。更慢的输出速率可以使输出更容易阅读。

  • 在调试时,将消息分成几个部分,如果需要,可以将它们从不同的块中输出。这样,您可以在每个部分之间添加适当的延迟来让消息逐步出现在串行监视器中。

  • 在某些情况下,您可能需要同时在串行监视器中查看多个变量的值。在这种情况下,您可以将变量的值组合到一个消息中:

    Serial.print("Sensor value: ");
    Serial.print(sensorValue);
    Serial.print(", temperature: ");
    Serial.println(temperature);
    

    返回的 markdown text 片段如下:

    # 如何在 Arduino 中打印项目 - C++
    
    ## 展示输出
    
    在 Arduino 中,我们可以使用 `Serial` 库来在串行监视器(Serial Monitor)中输出消息。要使用它,您需要在 `setup` 函数中进行初始化:
    
    ```C++
    void setup() {
        Serial.begin(9600);
    }
    

    接下来,在 loop 函数中,您可以使用 Serial.println() 函数将消息输出到串行监视器:

    void loop() {
        int sensorValue = analogRead(A0);
        Serial.print("Sensor value: ");
        Serial.println(sensorValue);
        delay(1000);
    }
    

    在此示例中,我们将模拟输入引脚 A0 中的值读取到 sensorValue 变量中,并使用 Serial.print()Serial.println() 将该值输出到串行监视器。最后,我们使用 delay() 函数暂停代码 1 秒钟,以便您可以在串行监视器中看到输出。

    格式化输出

    您可能会需要在串行监视器中格式化输出消息。例如,您可能想要以某种格式输出浮点数。这时,您可以使用 Serial.print() 函数的 printf() 格式化选项:

    void loop() {
        float temperature = 26.7;
        Serial.print("Current temperature: ");
        Serial.printf("%.2f", temperature);
        Serial.println(" °C");
        delay(1000);
    }
    

    在此示例中,我们定义了变量 temperature,并使用 Serial.printf() 函数的格式说明符(%.2f)将其格式化为保留两位小数的浮点数。最后,我们使用 Serial.println() 将 °C 附加到消息的末尾。

    调试技巧

    在开发 Arduino 项目时,您可能需要打印变量的值以调试代码。您可以在 loop 函数中使用 Serial.println() 输出变量的值,例如:

    void loop() {
        int sensorValue = analogRead(A0);
        Serial.print("Sensor value: ");
        Serial.println(sensorValue);
        delay(1000);
    }
    

    不幸的是,这可能会导致输出被淹没(drown out)。您可以使用以下技巧来改善:

    • 使用 Serial.begin() 函数的第二个参数限制输出速率,例如 Serial.begin(9600, SERIAL_8N1)。更慢的输出速率可以使输出更容易阅读。

    • 在调试时,将消息分成几个部分,如果需要,可以将它们从不同的块中输出。这样,您可以在每个部分之间添加适当的延迟来让消息逐步出现在串行监视器中。

    • 在某些情况下,您可能需要同时在串行监视器中查看多个变量的值。在这种情况下,您可以将变量的值组合到一个消息中:

      Serial.print("Sensor value: ");
      Serial.print(sensorValue);
      Serial.print(", temperature: ");
      Serial.println(temperature);