Hallo,
läuft das Slave Programm im AVR auch? Also hast Du es mit dem Start/Stop Taster gestartet? Geht auch indem man auf dem I2C Bus einmal die SDA Leitung für ein paar Millisekunden auf low schaltet (einmal start+stop generieren), dann etwas WARTEN weil da im Slave Programm am Anfang 500ms Pause drin sind. Das muss alles separat VOR der ersten Datenübertragung passieren.
Mach sonst auch mal ein paar setLED Befehle in die einzelnen Funktionen im Slave Programm rein damit man sieht obs überhaupt läuft.
Du verwendest die Pins aber auch allgemein richtig, das müssen OPEN DRAIN Ausgänge sein, d.h. aktiv Low ist OK, aber aktiv High ist verboten für High müssen die Pins als Eingang konfiguriert werden - den Rest erledigen die externen Pullup Widerstände.auf dem Bus ausgelöst und zwar indem ich zum Start die Port-Pins SDA und SDC als Ausgang definiert habe.
(sonst ist Ausgang an Ausgang geschaltet und wenn einer High und einer Low ist wäre das schlecht... )
MfG,
SlyD
Lesezeichen