mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hardware TWI am Mega 8


Autor: max (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich hab mir anhand des Datenblattes vom Mega 8 mal ein Programm zum
benutzen des TWI geschriben. Leider hab ich noch keine TWI ICs zum
testen.
Ich würde mich freuen wenn sich mal jemand das Programm anschauen
könnte und vieleicht sogar testen würde. Habs bis jetzt nur mit dem
Studio Simmuliert. Eine sache wo ich mir noch überhaupt nicht klar
darüber bin ist das einstellen des SCL Taktes. Haffentlich ist das
Programm ausreichend kommentiert
Auch Kritik an meinem programmierstil ist mir Wilkommen.

mfg Max

Autor: max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat sich damit noch niemand beschäftigt?
Kan mir da niemand einen Tip geben?

mfg
Max

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beschäftigt habe ich mich schon mit dem TWI - aber momentan keine Zeit.

Autor: max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, tut mir leid, das ich diesen beitrag wieder nach oben hole, aber
ich komm nicht weiter. hab inzwischen viel rumgemurkst. Aleien bei der
Berechnung der SCL Frequenz hab ich im Internet mehrere verschidene
Versionen gefunden. Fals es etwas hiltft: Habe das STK500 mit Mega8.
Als I2C slave dient ein PCF8574AP.

mfg

Max

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die SCL-Frequenz ist zur Inbetriebnahme erstmal nicht so wichtig , nur
zu schnell darf sie nicht sein. Ich habe für meine Versuche immer
erstmal die langsamste verwendet. Wenn man dann noch die Taktfrequenz
auf 1Mhz runternimmt, kann man den Impulsen sogar zuschauen. Der 8574
macht das auf jeden Fall mit.
Ich würde Dir empfehlen, die Routine zuerst mal ohne Interrupts zu
schreiben, vor allem fehlt in Deiner Routine eine Fehlerabfrage, z.B.
was passiert bei einem nACK ? Die TWI-Schnittstelle gibt verschiedene
Status-Codes zurück, anhand derer Du eine Diagnose ausführen kannst,
denn es gibt viele Fehlerquellen.
Welche Slave-Adresse benutzt Du mit dem 8574A ? Die in Deinem
Programmschnipsel ist auf jeden Fall falsch (wäre Adresse 02). Und
nicht vergessen, die A0-A2 Eingänge des 8574A auf definierte Pegel zu
legen, damit legst Du die Adresse des Bausteins fest.

Autor: Max (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo

ok, werds versuchen. werde die slave addresse richtig einstellen ;=

mfg
Max

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.