Hallo Leute, ich hänge derzeit etwas daran auf einem ESP32 einen zweiten I2C Master zu implementieren. Hintergund ist, dass ich verschiedenen Sensoren zeitgetriggert auslesen möchte. Da jedoch die Auslesevorgänge der einzelnen Sensoren um zeilweise einen Faktor 15...20 schwanken kommt es vor, dass während des Lesevorgangs bei einem Sensor ein zweiter mehrfach gelesen werden muss. Daher die Idee zweier I2C Master. Bietet mir die Wire Bibliothek eine Möglichkeit dazu? Habt ihr eine Idee wie ich das Ganze implementieren könnte? Viele Grüße, Sim
:
Verschoben durch User
Den Link habe ich auch schon gefunden, allerdings bekomme ich jedes Mal die Fehlermeldung, dass Wire1 mehrfach definiert wurde. libraries\Wire\Wire.cpp.o:(.bss.Wire1+0x0): multiple definition of `Wire1' Diese Nachricht erscheint schon beim nackten Beispiel ohne weiteren Code drum herum. Habe folgendes Beispiel genutzt: #include <Wire.h> #define SDA2 2 #define SCL2 4 TwoWire Wire1=TwoWire(1); void setup(){ Serial.begin(115200); Wire.begin(); Wire1.begin(SCL2,SDA2,100000); }
Arduino will dir das Leben leicht machen und hat schon zwei Instanzen auf Vorrat angelegt. Wire.cpp
1 | TwoWire Wire = TwoWire(0); |
2 | TwoWire Wire1 = TwoWire(1); |
Wire.h
1 | extern TwoWire Wire; |
2 | extern TwoWire Wire1; |
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.