Forum: HF, Funk und Felder rfm12B statt rfm12


von l-hase (Gast)


Angehängte Dateien:

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
von Sebastian (Gast)


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
1
 
2
void init_rfm12(int type)
3
{
4
  
5
6
   if (type)
7
     spi_tx_rx(0x80A7); // Transmitter
8
   else
9
     spi_tx_rx(0x8067); // Receiver   
10
 
11
   spi_tx_rx(0x8208); // Power Management Command
12
   SysCtlDelay(SysCtlClockGet()/100);
13
   spi_tx_rx(0xA680); // Frequency Command
14
   SysCtlDelay(SysCtlClockGet()/100);
15
   spi_tx_rx(0xC6005); // Datarate Command 19.2k
16
   SysCtlDelay(SysCtlClockGet()/100);
17
   spi_tx_rx(0x94A2); // Receiver Control Command
18
   SysCtlDelay(SysCtlClockGet()/100);
19
   spi_tx_rx(0xC2AB); // Datafilter Command
20
   SysCtlDelay(SysCtlClockGet()/100);
21
   spi_tx_rx(0xCA81); // FIFO / Reset Mode Command
22
   SysCtlDelay(SysCtlClockGet()/100);
23
   spi_tx_rx(0xCED4); // Synchron Pattern Command
24
   SysCtlDelay(SysCtlClockGet()/100);
25
   spi_tx_rx(0xC4F7); // AFC Command
26
   SysCtlDelay(SysCtlClockGet()/100);
27
   spi_tx_rx(0x9850); // TX Configuration Command
28
   SysCtlDelay(SysCtlClockGet()/100);
29
   spi_tx_rx(0xCC77); // PLL Command
30
   SysCtlDelay(SysCtlClockGet()/100);
31
   spi_tx_rx(0xE000); // Wake-Up Timer Command
32
   SysCtlDelay(SysCtlClockGet()/100);
33
   spi_tx_rx(0xC800); // Low Duty-Cycle Command
34
   SysCtlDelay(SysCtlClockGet()/100);
35
   spi_tx_rx(0xC040); // LB Det./Clock Div. Command
36
   SysCtlDelay(SysCtlClockGet()/100);
37
}

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.