www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RFM12 und Status Register


Autor: Jakob G. (jakob2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

meine RFM12 wollen immernoch nicht laufen, daher muss ich noch ein paar 
Fragen los werden.

Also ich verwende im Moment den Standart-Aufbau, d.h. das Modul ist an 
die Hardware SPI eines Mega8 angeschlossen und der FSK Pin wird mittels 
Pull-Up hochgezogen.

Das Modul redet auch mit mir, soweit scheinbar kein Problem. Ich kann 
also z.B. die Frequenz des Quarz-Ausgangs verändern.

Als Init-Sequenz verwende ich folgendes (aus einem der Beispiele):

&HC0E0
&H80D7
&HC2AB
&HCA81
&HE000
&HC800
&HC4F7

Dann setze ich halt noch die Frequenz, Bandbreite, Baud und Leistung mit 
verschiedenen Subs.

So, wenn ich nach den ganzen Sequenzen das Statusregister auslese, dann 
bekomme ich da zuerst &HA003 raus. Wenn ichs nochmal lese, dann kommt 
&H8003 raus (FFOV/RGUR ändert sich, wenn ich das richtig interpretiere). 
Ich bin mir nicht so ganz sicher, was das zu bedeuten hat, da ich die 
einzelnen Bits des Statusregisters nicht so ganz verstehe. Gibt es da 
eine ausführlichere Erklärung als in dem Artikel über den RFM12?

Sodann versuche ich etwas zu senden. Daher schicke ich zuerst die 
Präambel aus dem Beispielcode vor:

&H8236
&HB8AA
&HB8AA
&HB8AA
&HB82D
&HB8D4

Dazwischen warte ich immer auf SDO=1, damit ich weiß, dass ich das 
nächste Word schreiben darf.

Wenn die Präambel durch ist (ich nehme mal an, dass mich das Modul 
versteht, denn es kommt ja immer ein SDO=1 zurück), dann schreibe ich 
einzelne Bytes mittels:

&HB800 + Datenbyte

Wenn ich nach dem Versand der einzelnen Bytes den Status abfrage, so 
bekomme ich &H2103 zurück. Das würde bedeuten FFIT/RGIT ist nun aus, 
dafür ist RSSI/ATS an. Nun, wie schon gesagt, das Register hilft mir 
irgendwie nicht so ganz, daher bin ich an dieser Stelle etwas ratlos.

Nachdem ich das Senden beendet habe schicke ich noch ein &H8208 raus, 
das den Sender wieder ausschaltet.

Wenn ich dann den Status lese, dann bekomme ich wieder &HA003 und später 
&H8003. Also das schon von der Initalisierungssequenz bekannte Muster.


Lange Rede, kurzer Sinn: Es funktioniert nicht und ich habe keine 
Ahnung, woran das liegt. Ich kann auch garnicht feststellen, ob der 
Sender überhaupt sendet oder nicht.

Kann mir da jemand helfen?

Danke schonmal für eine Antwort

Autor: Jakob G. (jakob2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, kleines Update, evtl. ein Schritt in die richtige Richtung..

Ich habe die Ausgabeleistung etwas gesenkt und nun ist das RSSI/ATS Bit 
ausgegangen.

Allerdings ist das FFOV/RGUR Bit nach wie vor an, was ja bedeuten würde, 
dass das Senden nicht geglückt ist, weil der Controller zu langsam Daten 
schickt. Das kann ich mir aber nicht vorstellen, bei 9600Baud mit denen 
ich experimentiere... Komische Sache.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.