www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega 126 und I²C


Autor: alsa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute :)
Ich muss mit dem o.g. µC einen externen I²C Baustein ansteuern.
Hab bisher die Grundlagen über I²C durchgelesen, weiß aber jedoch
nicht, was ich bei der Programmierung alles beachten muss, da ich mit
Atmega erst angefangen habe. Hab schon was über TWI etc. gelesen,
verstehe aber ehrlich gesagt nicht, wie das Ganze funktioniert. Kann
mir jemand nen Link zu einer guten Beschreibung geben? Oder evtl ein
funktionierendes Beispiel, wie man ein I²C Baustein ansteuert?
Wäre sehr nett.
MFG

Autor: Wolfram (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ein Beispiel findest du in der Winavr Dokumentation

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
o.g. Baustein gibt es nicht...

Zum Thema I²C haben die Leute von Philips ein paar Dokumente auf ihrer
Internet-Seite.

Autor: alsa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Wolfram: Gibt es auch im Web? Ich benutze AVRStudio 4.12
@ Rahul: Sorry ich meinte Mega162 (verschrieben)

Ich hab so eben auf der Atmel Seite erfahren, dass Mega162 gar kein TWI
Interface hat, also muss ich das Ganze softwaremäßig realisieren. Und da
wäre auch schon eine Frage, wie erzeuge ich am besten 400KHz?
mfg

Autor: Markus_8051 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst nichtz unbedingt 400kHz. Das ist nur die maximale Frequenz
für I2C. Die I2C-Schnittstelle funktioniert nach unten hin bis 0Hz.
Also mach Dir keinen Stress wegen der Frequenz. Takte einfach ganz
gemütlich die Daten raus.

Markus_8051

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann jetzt nur sagen, wie man das ganz einfach im Porgrammcode
machen kann. Die wirklich feine Art ist es nicht, da der Controller in
dieser Zeit nicht anderes tun kann, aber für gelegentliche Abfragen ist
das eigentlich ok.

Einfach per Software die einzelnen Pins setzen und dafür sorgen, daß
zwischen den einzelnen Clock-Pulsen mindestens die benötigte Zeit
gewartet wird. Wenn einzelne Clocks etwas länger sind, macht das
nichts. I2C setzt keine feste Baudrate voraus, da die Clock ja mit
übertragen wird.

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guck mal in der Codesammlung. IMHO hat Peter Dannegger was in der
Richtung veröffentlich...

Autor: alsa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Peter Dannegger hat soweit ich verstanden habe, eine TWI Lösung
veröffentlicht :(

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Auf der Website von Atmel gibts bei den Application Notes Beispiele zu
Software- und Hardware-I2C.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.