Forum: Mikrocontroller und Digitale Elektronik RF12 sinnvoll nutzen


von jones (Gast)


Lesenswert?

Hallo Leute,

Ich arbeite gerade an meinem Matura-Projekt bei dem ich das RFM12 Modul 
von Pollin nutze.
In eine RIchtung funkt schon alles prima, nur leider hab ich noch ein 
kleines Timing problem.

Folgendes soll umgesetzt werden:
Es gibt 2 Geräte. Das eine (Sender) analysiert das Frequenzspektrum (der 
Luft..) und sendet auf die Anfrage des Masters 10 Messwerte zu diesem. 
Der Master hat ein Menü auf einem Graphischen Display und gibt die 
Messwerte dann in einem Koordinatensystem aus. So weit so gut nur weiß 
ich nicht genau wie ich das softwaremäßig realisieren soll. Ich steure 
das Modul via SPI an. (Ulrich Radig sei Dank). Menü und Ausgabe sind 
schon fix und fertig und warten nur noch auf echte Messwerte.

Ich dachte mir, ich könnte immer im Interrupt die aktuellen Messwerte 
erfassen und somit parallel eine echtzeitausgabe machen. Wie kann ich 
denn die Funkmodule am besten dazu bringen, dass sie synchron senden? 
(gibt es eine Möglichkeit den FIFO schnell abzufragen?) Ich takte einen 
ATmega16 mit dem RF12 Clock (10MHz).

Vielen Dank

mfg.jones

von dummy (Gast)


Lesenswert?

>Ich dachte mir, ich könnte immer im Interrupt die aktuellen Messwerte
>erfassen und somit parallel eine echtzeitausgabe machen. Wie kann ich
>denn die Funkmodule am besten dazu bringen, dass sie synchron senden?

Der Master fragt und der Slave hält solange das Maul.
Von alleine sendet der Slave nichts. So sollte es gehen.

von jones (Gast)


Lesenswert?

Ich hab da die Funktionen von Ulrich Radig. rf12_txdata(..) und 
rf12_rxdata(..)

das rx_data wartet normaler weise so lange bis daten herein kommen. aber 
der slave muss ja auch noch die Frequenzanalyse machen. Also hat er auch 
nicht immer Zeit um zu warten.

Am liebsten wäre mir fast wenn der Slave einfach sobald er mit der 
analyse fertig ist die Messwerte überträgt. also alle paar ms und das 
einfach 'endlos'. Nur wie ich das timen soll ist mir ein rätsel.

die ersten versuche mit Bidirektionalen Übertragungen hauen zwar hin 
(der eine wartet so lange bis er andere ein bestimmtes byte schickt, 
dann wird was zurückgeschickt..) nur leider extrem langsam (das dauert 
oft sekunden..). also mit den Funktionen von Radig schaff ich das glaube 
ich nicht...

Danke jedenfalls für die schnelle Antwort.

von dummy (Gast)


Lesenswert?

>Am liebsten wäre mir fast wenn der Slave einfach sobald er mit der
>analyse fertig ist die Messwerte überträgt. also alle paar ms und das
>einfach 'endlos'. Nur wie ich das timen soll ist mir ein rätsel.

Wenn der einfach drauf los sendet ist er kein Slave mehr.
Dann brauchst du auch keinen Master.

von jones (Gast)


Lesenswert?

Ich nenne sie nur Master und Slave weil der eine nur Arbeitet.
Du kannst sie auch Herbert und Walter nennen wenn du magst.

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
Noch kein Account? Hier anmelden.