RFM12 Modul empfängt zu viel

OP #2407575
Lesenswert?

Hi,

ich habe mal wieder eine RFM12 Frage. Meine Module laufen nun endlich. 
Nur jetzt habe ich das Problem, dass ich beim Empfangen zu viele Bytes 
empfange.
Sendet mein Sender eine Zeichenfolge, so wird diese auch vom Empfänger 
erhalten, doch leider werden dann noch beliebig viele Bytes empfangen. 
Woran kann das liegen. Da ich mit nIRQ arbeite, dachte ich, dass sobald 
mein Sender keine Daten mehr verschickt, mein Empfangsmodul auch keine 
Daten mehr erhält. Ist das nicht richtig?


Grundlegend ist das die lib von Jürgen Eckert.
Initialisierung (ohne Baud etc)
1
spi_send_data_u16(0xC0E0);        // AVR CLK: 10MHz
2
  spi_send_data_u16(0x80D7);      // Enable FIFO
3
  spi_send_data_u16(0xC2AB);      // Data Filter: internal
4
  spi_send_data_u16(0xCA81);      // Set FIFO mode
5
  spi_send_data_u16(0xE000);      // disable wakeuptimer
6
  spi_send_data_u16(0xC800);      // disable low duty cycle
7
  spi_send_data_u16(0xC4F7);      // AFC settings: autotuning: -10kHz...+7,5kHz
8

9
  spi_send_data_u16(0x0000);

RX starten:
1
  spi_send_data_u16(0x82C8);      // RX on
2
  spi_send_data_u16(0xCA81);      // set FIFO mode + disable FIFO
3
  spi_send_data_u16(0xCA83);      // enable FIFO
OP #2407608
Lesenswert?

Achso. Sobald mein Empfänger mit 0xAA und Sync versorgt wurde empfängt 
er ja sowas mit. Das mein Nachbar sowas hat kann wirklich sein.
Mein Protokoll im Hintergrund kann sowas schon ab, aber mich hat's nur 
auf den ersten Blick gewundert.
Da muss ja mächtig was los sein auf dem Band.
Gast #2407759
Lesenswert?

Mini Float schrieb:
> Vielleicht hilft es auch,
> mal nachzuforschen, ob nich dein Funkthermometer oder dein Nachbar oder
> oder oder... auf derselben Frequenz rumschrubbt.

Und wenn es nicht das Funkthermometer ist, dass sowieso nur alle paar 
Minuten mal kurz sendet, werden es wohl die Reste des Urknalls sein, die 
den Empfänger mit Rauschen beglücken, ganz abgesehen vom Eigenrauschen.
#2407866
Lesenswert?

Der Empfänger erkennt selbst kein Ende.
Ich mach es so, als erstes Byte wird die Anzahl der folgenden Bytes 
gesendet, danach die Nutzbytes und zum Schluß noch eine Prüfsumme. Der 
Empfänger wertet das 1.Byte aus ob es innerhalb bestimmter Grenzen 
liegt, empfängt die darin angegebene Anzahl und stoppt dann den Empfang. 
Prüfsumme berechnen und vergleichen und dann wird verarbeitet.

Holger

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren