www.mikrocontroller.net

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


Autor: H. G. (ledi)
Datum:

Bewertung
0 lesenswert
nicht 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)
void main(void)
{   
  CS_high(3000);          // CS = high
  DDRB   |=  (1<<PB3);      // Set PB3(CE) = output
  CE_low();            // Set CE = low
  DDRC = 0xFF;          // PORTC = Output
  _delay_ms(1000);        // Power-on-delay 1000ms

  SPI_Master_Init();        // Init SPI Settings
  Init_RF_Settings();        // Init RF Settings
  Power_Up();            // Set Radio in Power Up Modus

    while(1)
    {
    Flush_TX();          // Clear FIFO
    Payload_TX(0xAF);      // Payload TX: send 0xAF data
    CE_High_Pulse();      // CE = 1 for 50us
    _delay_ms(1000);

    Payload_TX(0xA3);      // Payload TX: send 0xA3 data
    CE_High_Pulse();      // CE = 1 for 50us
    _delay_ms(1000);
    }
}

b.) auf der Empfängerseite (hier sollen die Daten empfangen und am PORTC 
ausgegeben werden)
void main(void)
{   
  CE_low();            // Chip Enable = 0
  CS_high(3000);          // CS = high
  DDRB  |=  (1<<PB3);      // Set PB3(CE) = output
  DDRC   =   0xFF;        // PORTC = Output
  SPI_Master_Init();        // Init SPI
  Init_RF_Settings();        // RF Settings
  CE_high();            // Chip Enable = 1
  _delay_ms(1000);        // Power-on-delay
  Power_Up();

    while(1)
    {
    Flush_RX();      
    Payload_RX();
    PORTC = SPDR;
    }
}

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

Danke für Eure Hilfe!!!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.