Forum: Mikrocontroller und Digitale Elektronik ez430-CC2500 SPI Kommunikation


von vollmilch (Gast)


Lesenswert?

Hallo,
ich wollte mal neben der Theorie in der Uni mich ein wenig mit dem 
MSP430 beschäftigen und der ez430-CC2500 wurde es dann. Uart an den PC 
klappt wunderbar und die LEDs blinken auch :).
Jetzt wollt ich den CC2500 über SPI ansteuern.
Die Initalisierung hab ich aus dem SimpliciTI genommen und eigentlich 
alles überprüft. Ich wollte mal Fragen ob mir jemand Helfen kann, weil 
ausgelesen aus den Statusregistern des CC2500 klappt damit nicht.
Ich wollte zum Testen eifnach die Seriennummer des CC2500 auslesen.
Klappt damit aber nicht und ich komme nicht weiter.
Vielen Dank.
1
#define nSS   P3OUT_bit.P3OUT_0
2
#define MISO  P3IN_bit.P3IN_2
3
4
void init_SPI() {
5
 
6
  UCB0CTL1 = UCSWRST;                           
7
  UCB0CTL1 = UCSWRST | UCSSEL1;                 
8
  UCB0CTL0 = UCCKPH | UCMSB | UCMST | UCSYNC;   
9
  UCB0BR0  = 2;                                 
10
  UCB0BR1  = 0;                                 
11
  P3OUT_bit.P3OUT_0 = 1;
12
  P3DIR_bit.P3DIR_0 = 1;
13
  P3SEL = 0x0E;               
14
  UCB0CTL1 &= ~UCSWRST;                         
15
}
16
17
uint8 read_SPI(uint8_t addr)
18
{
19
20
    uint8 recieve;
21
22
    nSS = 0;               // Chip Select
23
    while(MISO);           // Warten bis CC2500 MISO low zieht
24
    UCB0TXBUF = addr;      // Addresse in Register laden
25
    while(!(IFG2 & UCB0RXIFG));  // Warten bis empfangen fertig
26
    recieve = UCB0RXBUF;    // Dummy mal auslesen
27
    UCB0TXBUF = addr;       // Dummy reinschreiben
28
    while(!(IFG2 & UCB0RXIFG));  // Warten bis was ankommt
29
    recieve = UCB0RXBUF;    // Auslesen! 
30
    nSS = 1;                // Chip Select 
31
    return(recieve);         
32
}

von vollmilch (Gast)


Lesenswert?

Also genauer gesagt kann ich in dem IAR verfolgen, wie er des schön in 
den TXBuffer schiebt, aber am RXBuffer komtm einfach nix rein. Ich lesen 
quasi nix von dem CC2500.

von vollmilch (Gast)


Lesenswert?

Frage hat sich erledigt.
Alles nochmal durchgegangen und gelesen und jetzt gehts.

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.