MSP430 - USI im I2C-Mode - Verständnisfrage

Gast #2259397
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren