Forum: Mikrocontroller und Digitale Elektronik 2,4GHz Funkchip RF24L01 - kein Empfang


von H. G. (ledi)


Lesenswert?

Ich versuche eine Datenkommunikation zwischen 2 Transceiver (RFM70) 
aufzubauen. Der Chip ist ident mit dem BK2401 und dem nRF24L01 von 
Nordic.(wobei der nRF24L01 nur eine Registerbank hat)

Mein Problem ist, das ich noch keine Daten empfange.
Als MCU verwende ich jeweils einen Atmel 90PWM316 und steuere die 
transceiver über die SPI-Schnittstelle an.

Hier die Übersicht wie ich vorgehe:

a.) Senderseite: (die Daten AF und A3 sollen übertragen werden)
1
void main(void)
2
{   
3
  CS_high(3000);          // CS = high
4
  DDRB   |=  (1<<PB3);      // Set PB3(CE) = output
5
  CE_low();            // Set CE = low
6
  DDRC = 0xFF;          // PORTC = Output
7
  _delay_ms(1000);        // Power-on-delay 1000ms
8
9
  SPI_Master_Init();        // Init SPI Settings
10
  Init_RF_Settings();        // Init RF Settings
11
  Power_Up();            // Set Radio in Power Up Modus
12
13
    while(1)
14
    {
15
    Flush_TX();          // Clear FIFO
16
    Payload_TX(0xAF);      // Payload TX: send 0xAF data
17
    CE_High_Pulse();      // CE = 1 for 50us
18
    _delay_ms(1000);
19
20
    Payload_TX(0xA3);      // Payload TX: send 0xA3 data
21
    CE_High_Pulse();      // CE = 1 for 50us
22
    _delay_ms(1000);
23
    }
24
}

b.) auf der Empfängerseite (hier sollen die Daten empfangen und am PORTC 
ausgegeben werden)
1
void main(void)
2
{   
3
  CE_low();            // Chip Enable = 0
4
  CS_high(3000);          // CS = high
5
  DDRB  |=  (1<<PB3);      // Set PB3(CE) = output
6
  DDRC   =   0xFF;        // PORTC = Output
7
  SPI_Master_Init();        // Init SPI
8
  Init_RF_Settings();        // RF Settings
9
  CE_high();            // Chip Enable = 1
10
  _delay_ms(1000);        // Power-on-delay
11
  Power_Up();
12
13
    while(1)
14
    {
15
    Flush_RX();      
16
    Payload_RX();
17
    PORTC = SPDR;
18
    }
19
}

Ist die Vorgehensweise grundsätzlich richtig bzw. hat jemand Erfahrung 
mit dem Transceiver?

Danke für Eure Hilfe!!!

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.