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