www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RFM 12 Senden-Empfangsproblem


Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Morgen,

ich versuche schon seit längerem zwei Atmega 32 mit je einem RFM12 
Funkmodul dazu zu bringen sich Daten zu schicken. Sinn ist, dass am Ende 
der eine Messwerte an den anderen schickt, der sie wiederum an einem 
Display anzeigt.

Eigentlich funktioniert alles (Display-Anzeige, Messwerte einlesen über 
AD-Wandler), bis auf dass ich es noch nicht geschafft habe einen Satz 
Daten über die RFMs zu übertragen.
Ich habe den Code von Benedikt K. verwendet 
(Beitrag "Beispielprogramm für RFM12 433MHz Funk-Module"). Das Programm wird 
problemlos durchlaufen. Jedes mal wenn ein Datensatz (theoretisch) 
gesendet wurde, blinkt eine LED (und sie blinkt). Über USART empfange 
ich aber zur Zeit leider nichts (HTERM zeigt nur diese Rechtecke an, 
diese werden aber in der richtigen Anzahl empfangen. Ich gehe davon aus, 
dass nichts in die Empfangsvariable geschrieben wird)...

Jetzt ist meine Frage: An welcher Stelle vermutet ihr das Problem? 
Hardware, Sofware?

Angeschlossen ist alles wie folgt:
uC       - RFM12

MISO     - SDO
10k v++  - FSK
nRES     - nRES (an +, bei Bedarf über Taster an GND)
SS       - SS
SCK      - SCK
MOSI     - SDI

Das war es eignetlich schon. V++ und GND natürlich noch, und eine 17cm 
Drahtantenne...

Softwareinitalisierung sieht so aus:

#define RF_PORT  PORTB
#define RF_DDR  DDRB
#define RF_PIN  PINB

#define SDI    5
#define SCK    6
#define CS    7
#define SDO    0

Ansonsten stimmt der Code mit dem vom Benedikt überein.

Bin über jeden Hinweis dankbar.
(Ach so: Ist weder eine Studienarbeit, noch eine Hausarbeit, sondern 
vielmehr aus interesse und als Vorbereitung auf die folgenden 
Vorlesungen)

Autor: Knut Ballhause (Firma: TravelRec.) (travelrec) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas schrieb:
> Über USART empfange
> ich aber zur Zeit leider nichts (HTERM zeigt nur diese Rechtecke an,
> diese werden aber in der richtigen Anzahl empfangen.

Lass Dir mal die HEX-Werte der Rechtecke anzeigen. Stimmt denn die 
Baudrate und die Parity/Stopp-Konfiguration?

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun, da ich ja einen theoretisch funktionsfähigen Programmcode genommen 
habe, gehe ich stark davon aus dass die Baudrate und Raritäten 
übereinstimmen.

Die HEX Werte dieser Rechtecke sind FF (Dezimal 255)...

Autor: R. W. (quakeman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lukas schrieb:
> Nun, da ich ja einen theoretisch funktionsfähigen Programmcode genommen
> habe, gehe ich stark davon aus dass die Baudrate und Raritäten
> übereinstimmen.

Nichts für Ungut, aber eine häufige Fehlerquelle ist es, sich auf 
fertigen Code zu verlassen.
Ich empfehle dir deshalb erst mal testweise Sende und Empfangsprogramme 
zu schreiben die so simpel wie möglich sind. Dabei lernst du die RFM12 
besser kennen und auch wo Fehlerquellen liegen können. Es macht keinen 
Sinn, ein Funkmodul mit fertigem Code zu betreiben ohne diesen 
Verstanden zu haben. Und du solltest die Funktionsweise der RFM12 im 
Datenblatt durchlesen und verstanden haben. Anschließend wird dir die 
Ansteuerung der RFM12 Module deutlich leichter fallen und du kannst auch 
deutlich einfacher nach Fehlerursachen suchen.

Ciao,
     Rainer

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das ist wohl die Antwort, die kein Fragensteller hören will. Aber du 
hast einfach Recht. Ich nehme das mal so hin und werde mich, wenn ich 
dann in die Module einarbeiten... Das heißt wohl Datenblätter 
studieren^^

Schönen Sonntag,
Lukas

Autor: R. W. (quakeman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst als Beispiele für sehr einfache Sende- und Empfangsprogramme 
mal in meinem Repository unter [1] schauen. Damit hatte ich damals auch 
angefangen und erst als diese liefen habe ich ein Übertragungsprotokoll 
dafür geschrieben.
Im Speziellen dürften diese vier ([2], [3], [4], [5]) Testprogramme ein 
guter Anhaltspunkt zum Starten sein. Ich habe diese gut dokumentiert, 
aber trotzdem bitte versuchen die RFM12 Einstellungen zu verstehen und 
nicht einfach nur blind abtippen. ;)

Ciao,
     Rainer

[1] https://quakeman.homelinux.net/viewvc/uVision/trunk/
[2] https://quakeman.homelinux.net/viewvc/uVision/trun...
[3] https://quakeman.homelinux.net/viewvc/uVision/trun...
[4] https://quakeman.homelinux.net/viewvc/uVision/trun...
[5] https://quakeman.homelinux.net/viewvc/uVision/trun...

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut. Danke für die letzte Mail. Es hilft mir vielleicht beim Einarbeiten 
(das ist mehr als ich vermutet hatte).

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.