Hallo liebe Gemeinde.
Ich bin der Markus und lese hier schon einige Zeit mit, nun möchte ich hier mal eine Frage stellen.
Aktuell habe ich folgendes vor:
An einem ATmega4809 (kein Arduino-Board) möchte ich gerne als TWI-Slave arbeiten. Am Mega ist die Masterfunktion nicht relevant.
Der TWI-Master (ein ESP32) sowie der Mega arbeiten mit 3,3V. Die TWI-Leitungen sind via 2K0-Widerstände an 3,3V geführt.
Es ist so, das sofern SDA/SCL an PC2/PC3 angeschlossen sind, funktioniert die Kommunikation.
Schließe ich den TWI an PF2/PF3 an und aktiviere via TWI0.DUALCTRL den DUAL-MODE
Wire.pins(PIN_PC2,PIN_PC3);
TWI0.DUALCTRL = TWI_ENABLE_bm;
Wire.begin(0x55);
Wire.onReceive(TWIreceiveEvent); // register event
Wire.onRequest(TWIrequestEvent); // register event
bekomme ich keine Werte
Die Kommunikation als Slave mit PORTMUX (Master on PC2/PC3, Slave on PF2/PF3) soll aber laut laut Datenblatt des mega funktionieren.
Anscheinend wird dies aber wenig genutzt (google liefert leider wenig bis keine für mich brauchbaren Hilfestellungen)
Wo ist hier mein Fehler?
Achja, das ganze ist aktuell auf einem Steckbrett aufgebaut.
Das der ESP als Master funktioniert, ist ja daran zu erkennen das der Slave, wenn am PC2/PC3 angeschlossen, auch arbeitet, sofern der DUAL-MODE abgeschalten ist.
Danke für eure Hilfe und Grüße
Markus