Hallo, eine kleine Frage an die Profis.
Ich habe ein Adafruit Metro M4 Grand Central
Auf diesen Board habe ich 2 mal I2C.
Wie stelle ich unter U8g2lib.h die I2C Schnittstelle um.
Um mein Oled SSD1306 an die zweite I2C anzuschliessen.
Wird die überhaupt in der U8g2lib.h umgestellt ?
oder in arduino.h ?
wenn man davon ausgeht, dass mehrere I2C Ports für das Board definiert sind, müßtest du in der Display Lib etwas umschreiben. Bspw. von Wire auf Wire1, wenn es so definiert wurden sein sollte. Theoretisch nur in der U8x8lib.cpp. und begin() natürlich. Die Display Lib hat keinen für mich sichtbaren Parameter. Müßtest du ggf. Oliver direkt fragen ob er seine Lib flexibler macht.
Wen man bei begin die Pins mit gebt sollte funktionieren, kann der TO ja testen.
Auch bei ESP32 wenn man nicht die Adresse ändern kann ist besser Multiplexer nutzen.
Danke für die viele Antworten. Jetzt weiß ich wie es geht. Mein Display hängt jetzt an I2C Port2
U8G2_SSD1327_EA_W128128_F_SW_I2C oled1(U8G2_R0, /* clock=/ 24, / data=/ 25, / reset=*/ U8X8_PIN_NONE);
Du verwendest langsame Software, während schnelle Hardware zur Verfügung steht, das ist schade. In U8g2\src\U8g2lib.h finde ich class U8G2_SSD1327_EA_W128128_F_2ND_HW_I2C für eine zweite Hardware. Damit könntest Du mal probieren, eventuell so:
Welche Pins mit der zweiten Hardware verbunden sind, ist dann eine noch zu klärende Frage, wenn der Compiler glücklich ist. Für den ESP32 ist das der Fall, hat aber leider keine Bedeutung.