首页 > 解决方案 > Arduino 打印语法序列 << '[' << RSP_SUCCESS << ']' << endl;

问题描述

我正在研究 Io Rodeo 色度计传感器板,我得到一个 Arduino 代码,当我看到 Arduino 代码时,我发现:

Serial << '[' << RSP_SUCCESS;
Serial << ',' << _DEC(colorimeter.frequency.red);
Serial << ',' << _DEC(colorimeter.frequency.green);
Serial << ',' << _DEC(colorimeter.frequency.blue);
Serial << ',' << _DEC(colorimeter.frequency.white);

这种语法我认为这是打印语法但程序不能打印任何东西?

标签: printingsyntaxarduino

解决方案


整洁,甚至没有在 arduino 中使用流。

在 C++ 中(大部分是 Arduino 语言),您可以定义(并且在最常见的情况下默认定义)一个 << 运算符,用于将数据格式化为流,通常用于输入和输出.

在 C++ 中,它通常这样使用:

#include <iostream>
int main() {
int variableA = 10;
std::cout << "Value of a variable variableA" << " is " << variableA << std::endl;
}

上面的代码将导致向控制台输出“变量 variableA 的值为 10”(标准输出)。

在 arduino 的情况下,可以为“Serial”对象定义流式操作符。

这里有一篇关于它的文章:https ://playground.arduino.cc/Main/StreamingOutput 这里描述的流操作符是模板化的,允许将不同的数据类型传递给 Serial.print(...) 函数。


推荐阅读