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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.