MSP430-Repeated START (I2C)

Gast #343900
Lesenswert?
• ▲
▼
Hallo!

Bei Kommunikation des MSP-430 mit einem Sensor muss ich die
RESTART-Option verwenden, da der Sensor keine STOP-Sequenz zwischen
Schreib- und Lesebefehlen akzeptiert. Das klappt bei mir aber nicht, es
wird nicht vom Senden auf Empfangen umgeschaltet (TXRDYIFG bleibt
'1'und RXRDYIFG - '0').

Hatte vielleicht jemand das ähnliche Problem?

Danke!



(mein Code:

P3SEL |= 0x0a;                            // Assign I2C pins to module
U0CTL |= I2C + SYNC;                      // Switch USART0 to I2C mode
U0CTL &= ~I2CEN;                          // Disable I2C
I2CTCTL = I2CRM + I2CSSEL_2;              // SMCLK + RESTART
I2CSCLH = 0x01;                           // High period of SCL
I2CSCLL = 0x01;                           // Low period of SCL
I2CSA = addr;                             // Slave address
U0CTL |= I2CEN;                           // Enable I2C, 7 bit addr,

U0CTL |= MST;          // Master mode
I2CTCTL &= 0xfd ;        // Set STOP-bit low
I2CTCTL |= I2CTRX + I2CSTT;       // transmit
while ((I2CIFG & TXRDYIFG) == 0);      // Wait for T. to be ready
I2CDRB = data;

I2CTCTL &= 0xf5;         // receive mode
I2CTCTL |= I2CSTT ;
while ((I2CIFG & RXRDYIFG) == 0);    // Wait for R to be ready
I2CTCTL |= I2CSTP;
read_val = I2CDRB;
)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.