cc1101 RxFIFO auslesen

OP #3201843
Lesenswert?

Hallo zusammen,

ich bin gerade dabei eine Übertragungsstrecke mit zwei cc1101+uC in 
Betrieb zu nehmen. Ich kann Datenpakete <=64 Byte senden und empfangen. 
Das Auslesen erfolgt über eine Abfrage des GDO2 Pins (konfiguriert auf 
RxFIFO overflow = 0x04). Ich schicke kontinuierlich 8 Testbyte:
0x08 = 8 Datenbyte
0x99 = Adresse Empfänger
0xAA = Daten (6x)
Bei jedem Rx overflow lese ich den RxFIFO aus. Lese ich lediglich die 8 
Byte aus, ist alles ok. Sobald ich aber mehr auslese als ich gesendet 
habe, wird da irgendwie noch ein zusätzliches Byte generiert, was ich 
nicht verstehe (Statusbytes, CRC, FEC alles aus). Meist ist dieses Byte 
0x3F, 0x7F oder auch 0x1F (Beispielmessung siehe Anhang).

Hat vielleicht jemand eine Idee, woher das kommt?

Besten Dank.

Gruss Michael


1
//in main:
2
void main (void)
3
{
4
....
5
    while(1)
6
    {
7
        if(GDO2_PIN)
8
            RfReceivePacket(rxBuffer);
9
    }
10
....
11

12

13
//Funktion zum Lesen
14
void RfReceivePacket( char *Buffer)
15
{
16
    _LATA7=0;                                                   /*Kontrollanzeige*/
17
    TI_CC_SPIStrobe(TI_CCxxx0_SRX);                             /*Enable RX*/
18
    TI_CC_SPIReadBurstReg(TI_CCxxx0_RXFIFO, Buffer, 64);
19
    if(GDO2_PIN)
20
        TI_CC_SPIStrobe(TI_CCxxx0_SFRX);
21
    _LATA7=1;
22
  
23
}
Angehängte Dateien:

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