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


von Ekehard Reitzle (Gast)


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

von thkais (Gast)


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.

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
Noch kein Account? Hier anmelden.