我有一个示例代码,我想将变量打印到日志中,特别是一个名为&results
的变量,我在void loop()
的末尾在代码中写了一行以打印变量到串行打印输出。
这不是完整的代码,但至少是很大一部分。
{
Serial.begin(9600);
Serial.println("IR Receiver Button Decode");
irrecv.enableIRIn(); // Start the receiver
}/*--(end setup )---*/
void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
if (irrecv.decode(&results)) // have we received an IR signal? &results is
the variable
Serial.println(&results) //<-- My line of code
{
translateIR();
irrecv.resume(); // receive the next value
}
}/* --(end main loop )-- */
我希望输出是变量的内容,但是在编译时会吐出no matching function for call to "println(decode_results*)"
。
答案 0 :(得分:0)
您不能简单地使用Arduino的print打印C结构。您只能打印简单的C数据类型,例如float,String,int等。因此,您需要分别打印结构的每个字段。我不知道decode_results
,但是您可以使用类似以下的内容来打印其字段:
{
Serial.begin(9600);
Serial.println("IR Receiver Button Decode");
irrecv.enableIRIn(); // Start the receiver
} /*--(end setup )---*/
void loop() /*----( LOOP: RUNS CONSTANTLY )----*/
{
if (irrecv.decode(&results)) // have we received an IR signal? &results is the variable
{
Serial.print("Results: ");
Serial.print(results.field1); // first field
Serial.print(" , ");
Serial.println(results.field2); // second field
}
translateIR();
irrecv.resume(); // receive the next value
} /* --(end main loop )-- */