Forum: Mikrocontroller und Digitale Elektronik MSP430 SPI im 4-wire Mode


von Michael (Gast)


Lesenswert?

Hallo zusammen,

ich verzweifle hier langsam etwas, ich habe zwei MSP430 Launchpads mit 
jeweils einem MSP430G2553 drauf.

Der eine läuft als SPI Master, der andere als SPI Slave. Ich möchte den 
4-wire Modus testen.

Den Master habe ich wie folgt konfiguriert:
1
void spi_master()
2
{
3
    P1SEL = BIT1 + BIT2 + BIT4 + BIT5;
4
    P1SEL2 = BIT1 + BIT2 + BIT4 + BIT5;
5
    UCA0CTL0 |= UCCKPL + UCMSB + UCMST + UCMODE_1 + UCSYNC;    
6
    UCA0CTL1 |= UCSSEL_2;                             
7
    UCA0BR0 |= 0x02;                                   
8
    UCA0BR1 = 0;                                      
9
    UCA0MCTL = 0;                                     
10
    UCA0CTL1 &= ~UCSWRST;                             
11
    IE2 |= UCA0RXIE;                                  
12
}

Den Slave so:
1
void spi_slave()
2
{
3
    P1SEL = BIT1 + BIT2 + BIT4 + BIT5;
4
    P1SEL2 = BIT1 + BIT2 + BIT4 + BIT5;
5
    UCA0CTL1 = UCSWRST;                             
6
    UCA0CTL0 |= UCCKPL + UCMSB + UCMODE_2 +  UCSYNC;      
7
    UCA0CTL1 &= ~UCSWRST;                           
8
    IE2 |= UCA0RXIE;                                
9
}

Problem(e):

- wenn ich beide (Master und Slave) im selben UCMODE habe, wird nichts 
mehr übertragen.

- Im aktuellen Zustand, überträgt der Slave zum Master immer um 1 bit 
verschoben.

Sieht Jemand wo hier die Probleme sind? Was verstehe ich hier nicht 
richtig? Bei Texas Instruments habe ich zum 4-wire Mode keine Code 
Examples gefunden.

Weiß Jemand, wo ich Beispiele finde?

Beste Grüße und herzlichen Dank im Vorraus,
Michael

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.