Wire Bibliothek

Moisnen community,

Ich versuche Grad Daten von einen Arduino zu anderen zu senden. Ich habe ein einfaches Beispiel aus der Arduino Seite genommen. Bibliothek installiert und beim hochladen steht da : requestEvent was not declared in this scope.

Kann mir da einer weiter helfen ? Danke schon Mal

Ja sicher.
Welchen Arduino und welchen Sketch verwendest Du?

#include <Wire.h>

void setup() {
  Wire.begin(8);                // join i2c bus with address #8
  Wire.onRequest(requestEvent); // register event
}

void loop() {
  delay(100);
}

// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
  Wire.write("hello ");
 
}

das ist der Code für den slaves und ich benutze einen Uno. Der Code für den master funktioniert. Also zumindest das hochladen.

Die Funktion möchte am Ende zwei runde Klammern haben, auch wenn keine Parameter vorhanden sind.

agmue:
Die Funktion möchte am Ende zwei runde Klammern haben, auch wenn keine Parameter vorhanden sind.

Welche Funktion meinst Du?

die requestEvent() in :
Wire.onRequest(requestEvent);
?

Grüße Uwe

agmue:
Die Funktion möchte am Ende zwei runde Klammern haben, auch wenn keine Parameter vorhanden sind.

sind doch schon?

eben nicht:
Wire.onRequest(requestEvent());

Wire.onRequest(requestEvent());<- falsch
Wire.onRequest(requestEvent);<- richtig

laberkop:

#include <Wire.h>

void setup() {
  Wire.begin(8);                // join i2c bus with address #8
  Wire.onRequest(requestEvent); // register event
}

void loop() {
  delay(100);
}

// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
  Wire.write("hello ");

}


das ist der Code für den slaves und ich benutze einen Uno. Der Code für den master funktioniert. Also zumindest das hochladen.

Der kompiliert fehlerfrei.
Funktion nicht getestet

Evtl. hilft es dir, wenn du einen Funktionsprototypen erstellst.

combie:
Evtl. hilft es dir, wenn du einen Funktionsprototypen erstellst.

Was meinst du damit ?

Ich hab die ide noch Mal installiert dann hat es funktioniert war wahrscheinlich zu alt. Trotzdem danke für eure Hilfe :slight_smile:

#include <Wire.h>

void requestEvent(); // Prototype

void setup() {
  Wire.begin(8);                // join i2c bus with address #8
  Wire.onRequest(requestEvent); // register event
}

void loop() {
  delay(100);
}

// function that executes whenever data is requested by master
// this function is registered as an event, see setup()
void requestEvent() {
  Wire.write("hello ");
 
}