RFM12 empfängt nur "Müll"

Gast #3154396
Lesenswert?

Hallo zusammen,

vielleicht könnt ihr mir helfen.
Ich bin nun schon seit ca. 2-3 Wochen dabei eine Funkstrecke mit 2 RFM12 
Modulen aufzubauen. Die Module funktionieren soweit und Daten werden 
gesendet, allerdings nicht das, was ich möchte.
Egal was ich sende, es kommt "Datenmüll" an.

Meine Programme laufen auf einem ATMega32 (Sender) und einem ATMega1284P 
(Empfänger). Programmiert in Bascom.

Mein Code besteht aus den Verschiedensten Bruchstücken die ich zu RFM12 
gefunden hab. Eventuell kann sich das mal jemand anschauen und mir 
sagen, wo es hängt. Ich dreh mich grade irgendwie im Kreis.


Schonmal vielen Dank im Vorraus.


Grüße

Monsterhero
Angehängte Dateien:
Gast #3154448
Lesenswert?

Die Seite kenn ich schon, der Download ist leider down. Ich bin 
eigentlich fast überzeugt dass die Register passen. Würde sich eventuell 
jemand den Code anschauen und sagen ob das soweit passt? Irgentwo muss 
ja doch noch ein Fehler drin sein.
Gast #3154619
Lesenswert?

Daniel B. schrieb:

> Ich bin
> eigentlich fast überzeugt dass die Register passen.

Wenn die Register passen, ist das schon ganz nett. Aber mindestens 
genauso wichtig ist, daß in die Register auch die "richtigen" Inhalte 
geschrieben werden.

Was "richtig" ist, dafür gibt es keine allgemein gültige Regel. Gäbe es 
die, bräuchte man überhaupt keine beschreibbaren Register, denn dann 
könnte schon der Hersteller einfach alles hardkodieren...

Die RFM12-Dinger sind wegen ihrer vielfältigen Anpassbarkeit an die 
konkrete Aufgabe garnicht so einfach zu beherrschen. Die Tatsache, daß 
die verfügbaren Datenblätter z.T. fehlerhaft sind und einige 
Zusammenhänge auch überhaupt nicht beleuchten, sondern davon ausgehen, 
daß der geneigte Leser sich aus dem Blockschaltbild, gediegenem 
Ingenieurswissen und einem gut Teil Intuition das selbst zusammenreimt, 
macht die Sache nicht einfacher.

Wenn du nicht das Optimum, willst, sondern erstmal einfach nur etwas, 
was irgendwie funktioniert, dann bist du gut beraten, existierenden Code 
als Vorlage für eine eigene Implementierung zu nehmen, z.B. den 
RFM12-Code aus dem Ethersex-Projekt.
Gast #3154627
Lesenswert?

Ja, also erstmal sollte es nur irgentwie funktionieren. Wie gesagt, hab 
ich mich verschiedener Codes bedient. Zuerst diese einzeln und dann auch 
miteinander kombiniert. Leider kein Ergebnis.

Mein Problem ist ja, dass Daten gesendet werden. Nur wird eben nicht das 
Empfangen was gesendet wurde. Ich habe auch schon verschiedene Varianten 
für die Übertragungsroutine versucht. Mit und ohne Preambel, mit und 
ohne Dummybytes, usw. leider kein Erfolg. Ich wüsste jetzt auch nicht 
mehr, wo ich denn ansetzen soll.
Gast #3155896
Lesenswert?

Es funktioniert!

Am Ende lag es nur daran, dass ich den Soft_SPI genutzt habe. Dieser hat 
immer den doppelten Wert zurückgeliefert. Nun teile ich diesen einfach 
durch 2 und schon kommt das an was ich will.

Ich danke vor allem dir Michi, dass du dir die Mühe gemacht hast.


Grüße

Daniel
Gast #3155928
Lesenswert?

Also ich meine irgendwo schon mal von diesem Problem gelesen zu haben, 
jedoch hat das damals bei mir nicht funktioniert.

Ich glaube es lag daran dass der Soft-SPI auf die falsche Flanke wartet 
und dadurch diese Verschiebung zustande kommt.

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