MSP430 SPI Bitveschiebung

Gast #2248190
Hallo Leute,

Ich nutze einen MSP430F2132 als Slave am SPI BUS. Master ist ein anderer 
IC. Clock ist 100 kHz. Wiederholungsrate 1ms.

Leider ist bei mir das Ergebnis immer um 1 bit verschoben. Also wenn ich 
als Slave was in den SPI Buffer schreibe kommt das ganze um 1 Bit 
verschoben wieder an. Am Master liegt es wohl nicht..

Hier mein Code

Initialisierung...
...
UCB0CTL0 |= (UCSYNC+UCMSB+UCMODE_2+UCCKPL+UCCKPH);//UCCKPL//UCCKPH
  while (!(IFG2 & UCB0TXIFG));
  UCB0CTL1 &= ~UCSWRST;
  IE2 |= (UCB0RXIE+UCB0TXIE);
  __enable_interrupt();
..

und die ISR:
 #pragma vector = USCIAB0TX_VECTOR
__interrupt void  USCI0TX_ISR (void)
{
  P1OUT ^= 0x04;
  UCB0TXBUF=0xfE;
}

Ich schreibe also immer 1111 1110 rein
als ergebnis im RXBUFFER bekomme ich 0111 1111

Hab alle 4 SPI Modi schon ausprobiert...
Gast #2248227
Das hab ich auch schon probiert..
Es sieht so aus, als ob das MSB immer zum LSB des nächsten Bytes wird, 
also als ob im allererste Frame nur 7 statt 8 bits gesendet werden.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.