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
Eine komplett [u]selbstprogrammierte[/u] Software mit der Kenntnis aller Register des RFM12 sollte auch korrekt funktionieren. Hier eine praktische Hilfe: http://www.controller-designs.de/index.php?lang=de&cat=projekte&cont=rfm12_eva&sub=
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.
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.
@Monsterhero Wenn du dich anmeldest, könnte ich dir den Subfolder gezipped von oben erwähntem Proggi via PM senden.
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.
Michi schrieb: > @Monsterhero > Wenn du dich anmeldest, könnte ich dir den Subfolder gezipped von oben > erwähntem Proggi via PM senden. Bin angemeldet ;)
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
Daniel B. schrieb: > Am Ende lag es nur daran, dass ich den Soft_SPI genutzt habe. Dieser hat > immer den doppelten Wert zurückgeliefert. Währe es nicht angebracht, herauszufinden, warum immer der doppelte Wert geliefert wird? Sonst ist es doch nur Frickelei und das nächste Problem lässt bestimmt nicht lange auf sich warten.
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.
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.