Forum: Mikrocontroller und Digitale Elektronik I2C Master Implementierung


von aero (Gast)


Lesenswert?

ich hab da mal ne Frage zur Implementation des I2C-Masters, welches in
der AP-Note von Atmel (AP-Note 300) beschrieben ist.
Nachdem der Master ein oder mehrere Bytes gelesen hat, muss dieser doch
das letzte gelesene Byte mit einem negativem Acknowledge
"bestätigen". Dies geschieht dort aber nie, alle gelesenen Bytes
werden mit einem positiven Ack bestätigt und zum Schluss wird dann
einfach die Stopp-Bedingung ausgeführt.
Oder hab ich was übersehen???
In der AP wird mehrfach die Routine i2c_end erwähnt aber nie
aufgeführt, kann es sein dass das AP nicht vollständig ist??

von Ralf Frare (Gast)


Lesenswert?

Alles Luft oder was ??

Hi aero

Ich beschäftige mich gerade auch mit dem TWI und wollte mal aus neugier
die App note 300 lesen nur finden kann ich die nicht,
( Link ?? )

Sofern ich das jetzt schon kapiert habe
( bin noch beim ausprobieren )

Der Master sendet nur im Master receiver mode ein NACK.
Also wenn er zwar den Clock generiert aber auf Empfang gesetzt wurde.
( Das Clock erzeugen kennzeichnet den Master )

Das pasiert wenn TWEA nicht gesendet wird.
( also nur TWINT TWEN )

STOP funtioniert natürlich genauso.
Allerdings bleibt der Master auch im Receiver mode nach beenden der
Übertragung Master.
Wird durch STOP beendet gibt der Master den Bus frei.

Recht  spannende lektüre fand dich die ee24xx library von
Joerg Wunsch.
Ansprechen von einem EEProm ist ein bischen tricky.

Phagsae

von aero (Gast)


Lesenswert?

jaja, Atmel hat die AP runtergenommen, hier is nen link:
http://www.avrfreaks.com/Tools/appnotes.php

dabei seh ich gerade, dass das eine andere Version ist. So wie es
aussieht wird in dieser das NACK berücksichtigt. Werd mal nachher die
Version mit der die ich habe vergleichen.

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.