Forum: Mikrocontroller und Digitale Elektronik MSP430 - USI im I2C-Mode - Verständnisfrage


von Marcel P. (Gast)


Lesenswert?

Hi,

ich sitze gerade vor einem MSP430 Launchpad und versuche mich in das USI 
einzufinden. Ich möchte das ganze im I2C-Modus betreiben und habe in den 
Examples(slac467a) von TI ein Listing gefunden.
Zum Start der Sequenz muss die SDA von LOW auf HIGH steigen, während SCL 
HIGH ist. Im Listing wird das scheinbar mit folgenden 2 Zeilen erreicht:

              USICTL0 |= USIGE+USIOE;
              USICTL0 &= ~USIGE;

Dabei steuert USIGE das Enable vom Outputlatch und USIOE aktiviert den 
Output. Damit das nun die Startbedingung ergibt muss, wird der Output 
aktiviert, während der Latch durch das Enable sofort ansteigt statt auf 
LOW auf der SCL zu warten. Damit das nun aber alles Sinn macht, muss ja 
im gekoppelten Modus (Latch-Enable <--> Shift Clock) der Latch 
invertiert reagieren, also den Wert beibehalten, wenn Clock auf HIGH 
ist. Ich finde darüber nur keine Informationen im Handbuch. Des weiteren 
ist mir noch unklar, wieso bereits nach einem Takt gewährleistet ist, 
dass SCL ansteigt.

Habe ich die Sache soweit richtig verstanden? Oder ganz falsch?
Wäre klasse, wenn ihr mir Licht ins dunkle bringt.
Danke schonmal vorab

Marcel P.

von Marcel P. (Gast)


Lesenswert?

Kann niemand zu meinen Gedanken Stellung beziehen?

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.