Moin Ich habe wirklich jetzt schon einige tage hier im forum herumgesucht und einiges selbst ausprobiert, aber anscheinend fehlt mir doch noch etwas basiswissen um ein i2c eeprom richtig anzusteuern. meine fragen sind wie muss ich die beiden pins für scl und sda im DDR definieren? ich benutze einen 90s2313, der kein hardware twi interface hat. nach ein bisschen überlegen meine ich einfach mal, dass scl als ausgang definiert werden könnte, da der takt ja immer vom master kontrolliert wird. sda müsste quasi immer die richtung wechseln. zusammen mit den pullup widerständen hats mich dann aus dem konzept gehauen. in anhang habe ich mal 2 routinen angehängt, die ich fürs byte senden und empfangen geschrieben habe.. sind die vom prinzip richtig oder gibts da auch noch gravierende fehler? danke im voraus mfg
Kleiner Tipp zum Thema Hintergrundwissen: Schau doch mal auf www.roboternetz.de nach. Wenn du dich dort kostenlos registrieren lässt, hast du Zugriff auf die "Artikel" zu bestimmten Themenschwerpunkten. Darunter ist auch etwas zum Them I2C. Gruß Volkhard
Du solltest für den I2C-bus auf jedenfall open-drain bzw open-collector Ausgänge benutzen. Diese können nur gegen Masse treiben, für den High-Pegel sorgt ein Pullup-Widerstand. Kennst Du GOOGLE? Suche nach I2C, direkt der erste Treffer führt dich auf die Seite von Philips, dem Entwickler des I2C-bus. Hier solltest Du eigentlich alles an Infos kriegen. Markus_8051
"nach ein bisschen überlegen meine ich einfach mal, dass scl als ausgang definiert werden könnte, da der takt ja immer vom master kontrolliert wird." Da wäre ich mir nicht so sicher. Schliesslich kann ja der Slave den Takt auf Low ziehen um damit dem Master mitzuteilen, dass er "langsamer machen" soll. Habe irgendwo mal (hier?) ein Codebeispiel für das Auslesen eines Temperatursensors DS1621 gefunden, das ohne Hardware-TWI auskommt. Vielleicht suchst Du mal danach. Achim.
moin @markus klar kenn ich google. und das pdf von philips habe ich auch schon. mein problem besteht eher darin wie ich die pins vom avr softwaremässig bearbeiten muss. also was genau muss ins DDRD etc...(quellcode schnipsel) die funktionsweise vom i2c bus habe ich mittlerweile verstanden. @achim jo ich werd mal suchen gehen mfg
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.