Guten Morgen,
bei Beschreibungen im Netz habe ich zu WIRE gefunden, dass bei der Funktion, die Wire.onRequest übergeben wird, nur ein Befehl ausgeführt werden soll, also ein Wire.write(). ".write()" gibt es in unterschiedlichen Ausführungen, so dass man Strings und anderes übertragen kann. Aber mir ist noch nicht klar, warum man nur einmal Wire.write() ausführen soll, wenn eine Anfrage vom I2C-Master erfolgt. Ich könnte mir vorstellen, dass Wire.write() eine Kommunikation startet, die Daten überträgt und die Kommunikation dann wieder abschließt, darüber habe ich aber bisher nichts gefunden.
Außerdem, um das noch anzufügen, verstehe ich noch nicht, warum man nur auf Anfrage des Masters sendet, wenn es nur einen Master und einen Slave gibt. Bei mehreren Slaves ist mir das klar. Aber sonst könnte doch th. der Slave auch einfach Daten senden und der Master schaut ab und an, ob was angekommen ist und antwortet dann. Ich habe schon gelesen, dass bei nodeMCU und Arduino der MAster das nodeMCU sein soll und der Arduino der Slave, anders herum soll es Schwierigkeiten geben.
MfG
Lesezeichen