Hallo Leute, bin ein RFM12BP neubie. Ich versuche eine Funkverbindubg zwischen zwei RFM12BP herzustellen. Ich steuere die beiden mit jeweils einem DLN 4N Protocol Adapter an. Die SPI Schnittstelle zu den Modulen habe ich hergestellt, aber wenn ich die Config. Commands (0x80D8, 0x8239...) schicke bekommt ich im Rx-Puffer jedes mal was anderes (SPI full duplex konfiguriert) Meiner Frage: Müssen spezifische Bits/Bytes nach Senden eines Konfigurationsbytes empfangen werden? Wenn ich zu Beispiel 0x8239 als power manag. sende, bekomme ich 0x0066 zurück Wie kann ich das nun interpretieren? Gruß, Martin
MisterD schrieb: > bin ein RFM12BP neubie. Ich versuche eine Funkverbindubg zwischen zwei > RFM12BP herzustellen. > Ich steuere die beiden mit jeweils einem DLN 4N Protocol Adapter an. Die > SPI Schnittstelle zu den Modulen habe ich hergestellt, aber wenn ich die > Config. Commands (0x80D8, 0x8239...) schicke bekommt ich im Rx-Puffer > jedes mal was anderes (SPI full duplex konfiguriert) Das ist völlig normal. Mit zwei Ausnahmen (Status und RX-Fifo) sind alle Register der RFM-Dinger nur schreibbar, nicht lesbar. Sprich: was du an Daten zurückbekommst, kannst du mit Ausnahme dieser beiden Register getrost in die Tonne kloppen.
@ C-hater danke "Sprich: was du an Daten zurückbekommst, kannst du mit Ausnahme dieser beiden Register getrost in die Tonne kloppen." Also alle die im SPI Rx-Puffer empfangene Bytes (siehe Dialog) sind irrelevant außer die Kommandos 0x0000 und 0xB000? DLN_Init() OK! Command Bytes: Sent: 80D8 received: 0000 Sent: 82D9 received: 002C Sent: A640 received: 96D8 Sent: C647 received: 002F Sent: CC77 received: 0000 Sent: 94A0 received: 002C Sent: C2AC received: A1FD Sent: CA81 received: 76EF Sent: CED4 received: F3FC Sent: CA83 received: 0012 Sent: C49B received: 5936 Sent: 9850 received: 76F3 Sent: E000 received: 0000 Sent: C80E received: 002C Sent: B000 received: 0000 Sent: 0000 received: 0000 Tx_Init() OK! Wobei 0x0000 und 0xB000 nicht bei der Konfiguration des Moduls gesendet werden. Wenn ich nun ein paar Daten schicke (nach den Dummybytes und Sync. Bytes), bekomm ich 0xFFFE zurück. Ist es hier auch irrelevant? Thread ist gestartet Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Sent: B811 received: FFFE Threaddauer: 281 Gruß, MisterD
Klar ich sende immer das gleiche... Aber wichtig ist zu wissen, ob auch nach dem Senden von 0xB800 auch "nichts" zu erwarten ist. Mit "nichts" meine ich irrelevant
MisterD schrieb: > Also alle die im SPI Rx-Puffer empfangene Bytes (siehe Dialog) sind > irrelevant außer die Kommandos 0x0000 und 0xB000? Genau. Obendrein ist im konkreten Fall auch noch irrelevant, was B000 zurückgibt, da steht nur was sinnvolles drin, wenn was empfangen wurde. Das würde aber durch Interrupt angezeigt, daraufhin wäre das Statusregister zu lesen und darin müßte das entsprechende Flag gesetzt sein. Erst wenn das der Fall war, ergibt es einen Sinn, das B000-Kommando auszuführen. Und nur dann kommt im unteren Byte was sinnvolles zurück, nämlich das empfangene Byte. > Wenn ich nun ein paar Daten schicke (nach den Dummybytes und Sync. > Bytes), bekomm ich 0xFFFE zurück. Ist es hier auch irrelevant? Natürlich. Wie schon gesagt: Alles außer den beiden genannten Kommandos liefert immer irgendwelchen nutzlosen Müll zurück.
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.