Forum: Mikrocontroller und Digitale Elektronik TWI / I2C Frage


von Bruno M. (brumay)


Lesenswert?

Hallo,
ich habe mich mal etwas in das Thema eingearbeitet und stoße jetzt auf 
eine Frage, die ich gerne beantwortet hätte.

Ich experimentiere mit einem ATMega168 und einem EEPROM AT24C64.

Mit TWI funktioniert es inzwischen problemlos und ich versuche nun das 
Software I2C. Dabei habe ich mir vorgestellt, ich könnte die I2C Befehle 
schrittweise in den TWI Code einarbeiten, d.h. ich starte z.B. mit 
I2C_Start und mache dann mit TWI weiter. Das funktioniert aber 
offensichtlich nicht. Ich kann zwar TWI-Bitrate und Prescaler vorab 
setzen und anschließend I2C_Start ausführen, aber danach wird kein 
weiterer TWI Befehl ausgeführt.

Welche Erklärung gibt es dafür?

von Adam P. (adamap)


Lesenswert?

Bruno M. schrieb:
> ich versuche nun das Software I2C

Bruno M. schrieb:
> ich starte z.B. mit I2C_Start

Verwendest du irgendeine Bibliothek, dann wäre es interessant zu wissen 
welche.

Oder meinst du das "Start Bit" im I2C Protokoll?

Falls du das "Start Bit" meinst oder wenn deine mysteriöse "I2C_Start" 
Funktion dies so ausführt, dann kannst du danach nicht einfach den 
"normalen" TWI Vorgang verwenden, da die TWI Peripherie das von alleine 
macht.

Leider kann ich nicht mehr nachvollziehen, was genau du meinst oder was 
du verwendest.

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Bruno M. schrieb:
> d.h. ich starte z.B. mit
> I2C_Start und mache dann mit TWI weiter. Das funktioniert aber
> offensichtlich nicht.

Nee das geht nicht, weil die TWI hardware einen hart verdrahteten 
Zustandsautomaten enthält der dann im falschen zustand ist.

von Bruno M. (brumay)


Lesenswert?

Stefan ⛄ F. schrieb:
> Nee das geht nicht, weil die TWI hardware einen hart verdrahteten
> Zustandsautomaten enthält der dann im falschen zustand ist.

Danke für die Erklärung!

von Horst (Gast)


Lesenswert?

TWI ist übrigens I2C.
Atmel wollte sich nur mit Phillips nicht wegen des Namens einigen und 
hat eine eigene Bezeichnung benutzt. Elektrisch und Logisch sind die 
aber identisch.

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.