i2c grundlagen

Gast #209708
Lesenswert?
• ▲
▼
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
Angehängte Dateien:
Gast #209709
Lesenswert?
• ▲
▼
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
Gast #209710
Lesenswert?
• ▲
▼
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
Gast #209711
Lesenswert?
• ▲
▼
"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.
Gast #209712
Lesenswert?
• ▲
▼
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.