mikrocontroller.net

Forum: HF, Funk und Felder rfm12B statt rfm12


Autor: l-hase (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo
ich habe ca 12 kl. Steuerungen die alle auf eine Zentrale
arbeiten. Sie sind mit RFM12 bestückt und alle funkt super.
jetzt habe ich leider falsche bestellt (RFM12B)
ich kann zwar senden zur Zentrale ist auch ok,
aber beim Empfang bekomme ich immer falsche Werte.
komme einfach nicht auf den Fehler. Kann meine init
falsch sein ?

mfg l-hase

: Verschoben durch Moderator
Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe meine 2 RFM12B (868 Mhz) auch heute zum laufen bekommen ( Arm 
Cortex M3 µC).Mein init hab ich mal angehängt. Ich habe nach jedem Init 
Command nochmal ein bissle wartezeit drin.Ich hatte das gefühl das Mögen 
die Module. Laufen tuen Sie wunderbar und die Reichweite ist echt 
hervoragend.
Ein Problem gibts aber, jeder 32.te Frame ist nur Müll und ich habe 
keine Ahnung warum Oo.

MFG Sebastian
 
void init_rfm12(int type)
{
  

   if (type)
     spi_tx_rx(0x80A7); // Transmitter
   else
     spi_tx_rx(0x8067); // Receiver   
 
   spi_tx_rx(0x8208); // Power Management Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xA680); // Frequency Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xC6005); // Datarate Command 19.2k
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0x94A2); // Receiver Control Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xC2AB); // Datafilter Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xCA81); // FIFO / Reset Mode Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xCED4); // Synchron Pattern Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xC4F7); // AFC Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0x9850); // TX Configuration Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xCC77); // PLL Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xE000); // Wake-Up Timer Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xC800); // Low Duty-Cycle Command
   SysCtlDelay(SysCtlClockGet()/100);
   spi_tx_rx(0xC040); // LB Det./Clock Div. Command
   SysCtlDelay(SysCtlClockGet()/100);
}


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.