mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR: Frage zu den TWI-Beispielen von Atmel


Autor: Ekehard Reitzle (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hat hier schonmal jemand, den Master- und den Slave-Code (C-Code)
aus den TWI-Beispielen von Atmel laufen gelassen bzw. als
Grundlage für eigenen Code genommen?
Ich habe noch keine Hardware hier, um es auszuprobieren.

In dem Teil in dem der Master einen Slave adressiert, ein Byte
schickt und anschließend eine Antwort abwartet, kommt es mir
so vor, daß das ganze nur funktioniert, wenn der Slave
eine Antwort mit zwei Bytes schickt.

Durch das Senden des Befehls wird die static Variable für die
Message-Länge auf zwei gesetzt (Adresse und eine Byte).
Im Signal-Handler bleibt diese Länge erhalten und wenn der
Slave mit seinen Bytes antwortet anscheinend nach zwei
empfangenen Bytes ein NACK gesendet.

Noch'ne Frage: Hat man überhaupt eine Chance TWI-Kommunikation
im AVR-Studio sinnvoll und zügig zu debuggen, evt.
Logging und Stimuli?

Gruß
Ekehard

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Beispiele (in Assembler) habe ich erfolgreich als Basis für eigene
Routinen benutzt.
IMHO funktioniert das TWI-Interface in der Simulation überhaupt nicht.

Empfehlung 1: Digitales 2-Kanal Oszilloskop.
Empfehlung 2 (falls kein Oszi vorhanden): Einen einstellbaren
Taktgenerator bauen und den Takt des AVR so weit runterschrauben, dass
man mit LEDs, die an SDA und SCL angeschlossen sind, die Übertragungen
verfolgen kann. Mit der letzteren Methode habe ich eigentlich ganz gute
Ergebnisse gehabt.
Auch hilfreich: Ein LCD am AVR, mit dem man Statusmeldungen ausgeben
kann.

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.