IR-Fernbedienung Fehleranzeige im serieller Monitor

Hallo zusammen,

ich habe ein Problem den Zahlencode meiner IR-Fernbedienung (für die einzelnen Tasten) im seriellen Monitor anzeigen zu lassen.
Verwendet wird ein NANO, die Bibliothek “IRremote” von shirriff, z3t0 Version 3.0.3 und folgender Sketch

#include <IRremote.h>

int RECV_PIN = 9;
IRrecv irrecv(RECV_PIN);
decode_results results;

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

void loop() {
if (irrecv.decode(&results)) {

Serial.println(results.value, DEC);

irrecv.resume();
}

}

Wenn der serielle Monitor gestartet wird, erhalte ich folgende Fehlermeldung

The function decode(&results)) is deprecated and may not work as expected! Just use decode() - without any parameter.

Diese Meldung wird Zeilenweise immer fortgeschrieben. Wenn ich eine beliebige Taste auf der Fernbedienung drücke, wird zwischen den Zeilen eine 0 angezeigt. Der NANO empfängt also was.

Könntet Ihr mir bei diesem Problem weiterhelfen?

Danke.

Thomas

The function decode(&results)) is deprecated and may not work as expected! Just use decode() - without any parameter.

Die google-Übersetzung

Die Funktionsdecodierung (& Ergebnisse) ist veraltet und funktioniert möglicherweise nicht wie erwartet! Verwenden Sie einfach decode () - ohne Parameter.

ist tatsächlich schlecht, weil sie zuviel übersetzt.

Meint, du solltest statt

if (irrecv.decode(&results)) {

lieber

if (irrecv.decode()) {

schreiben.

Wobei ich mich allerdings frage, wie die Methode decode dann die Variable results findet, um dort das Ergebnis abzulegen.

Hängt wohl an der Version der verwendeten Library, und den dazugehörigen Beispielen...

Der Code gehört zu einer älteren Version der Bibliothek, bei der der Benutzer die results zur Verfügung stellen mußte. Entweder eine ältere Version der Bibliothek benutzen, oder den Code an die neue Version anpassen.