CC1101Q1 SPI Problem

Gast #2653531
Lesenswert?

Guten Tag!

Ich habe ein Problem mit dem CC1101Q1 von TI. Und zwar kann ich die RX 
Daten nicht aus dem Chip auslesen. Dass Daten im FIFO sind bin ich mir 
sicher.
Den Chip habe ich so eingestellt, dass der GDO0 Pin auf high zieht, wenn 
ein Packet angekommen ist und wieder auf low geht wenn ich die Daten 
ausgelesen habe, allerdings macht er das nicht.

Hier die lese Funktion:
1
// Liest ein Byte aus einer bestimmten Adresse
2
// ===========================================
3
unsigned char spi_read (unsigned char adress)
4
{
5
  SS_set;          // SlaveSelect setzen          
6
  CHIP_RDY;        // Warten bis Chipbereit
7
  SPIE.DATA = adress;    // Readbit = 1, Burstaccess = 0                   
8
  WHAIT4SPI;        // Wartet bis Byte gesendet wurde    
9
  _delay_us(1);            
10
  SPIE.DATA = 0;       // erneut senden, um zu lesenden Daten in SPIE.DATA zu laden              
11
  WHAIT4SPI;        // Wartet bis Byte gesendet wurde    
12
  SS_clear;        // SlaveSelect zurücksetzen
13
  return SPIE.DATA;    // gibt die Daten zurück
14
}

Die Leseadresse des FIFO ist 0xbf

Hier noch die Routine mit der ich das FIFO auslese:
1
// Liest die Empfangenen Daten aus dem Transceiver aus und speichert sie in cc1101_RX_data[]
2
// =========================================================================================
3
void cc1101_get_data()                    
4
{
5
  unsigned char cc1101_RX_read_adress = 0xbf;        //Single byte access to RX FIFO
6
  
7
  // RX FIFO Daten auslesen
8
  for (unsigned char i = 0; i <= 7 ; i++)    
9
  {        
10
    cc1101_RX_data[i] = spi_read(cc1101_RX_read_adress);
11
  }  
12
}

Ich bekomm die Daten einfach nicht aus dem FIFO raus.

MfG.: Benjamin M.

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