PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : empfangene Daten von rnfunk auslesen ?



cyby
21.03.2006, 14:41
hiho,
wie kann man denn empfangene Daten von rnfunk auswerten ?
also mit dem Programm kann man die Daten schicken


$regfile = "m32def.dat"
$crystal = 16000000
$baud = 9600

Print "test"

also man sendet "test" , aber wie kann man das dann mit einem anderen rnfunk-board auslesen ? (an dem empfänger rnfunk-board ist ein Mega32 angeschlossen, mit dem dann die Daten ausgelesen werden )
MfG, cyby

ps. falls etwas undeutlich ist, bitte schreiben ^^

cyby
24.03.2006, 14:11
weis niemand wie das gehen soll ?

Metatron
02.04.2006, 21:27
weis niemand wie das gehen soll ?

Hai!

Schau dir mal den Befehl Inkey() und Input an, in der Hilfe sind sie beschrieben. Falls es doch nicht klappt, melde dich...

Tschau Peter

strunz
23.04.2006, 22:01
hat sich dein problem erledigt oder brauchst du noch ne lösung?

Lotti
12.03.2009, 10:17
Hallo
habe ein etwas ähnliches Problem mit 2 RN-Mega8 mit EasyRadio
Möchte mein Test auf dem anderen Board im LCD anzeigen lassen.

versuche in Bascom zu schreiben und habe wenig Plan!

Lotti
14.03.2009, 03:34
Ist hier keiner der mir helfen könnte? [-o<

Cairol
14.03.2009, 17:20
Metatron hat dir doch schon die Stichworte geliefert. Schau unter diesen Wörtern mal in die BASCOM-Hilfe rein. (das ist übrigens IMMER die erste Anlaufstelle. Dort sind oft Beispiele zu den Befehlen hinterlegt)
Ein bisschen Eigeninitiative schadet nie.

Ich geb dir trotzdem mal ein Beispiel.
Hier wird solange in einer Schleife gewartet bis was empfangen wird, und dann Zeichen für Zeichen ein String zusammengesetzt.
Wenn du nur jeweils ein einzelnes Byte schickst, kannst du dir das zusammensetzen in einen String natürlich sparen.


Do
InByte = inkey() 'Zeichen einlesen
If InByte <> 0 then 'wenn ein Zeichen empfangen wurde
InString = InString + chr(InByte) 'Das Zeichen zum String hinzufügen
End if
Loop until InByte = 0 'solange Zeichen einlesen, bis keines mehr im Empfangspuffer liegt

"InByte" ist eine Byte-Variable in die die Zeichen (ASCII-Codes) eingelesen und dann in das entsprechende Zeichen - nach ASCII-Tabelle - umgewandelt werden.
In "InString" wird das gesendete Wort oder was auch immer ankommt, zusammengesetzt.
Danach kann man den String (oder direkt jedes einzelne Byte) weiterverarbeiten wie man will.

Die Ausgabe auf einem LCD darf dir jemand anders erklären, da ich davon keine Ahnung habe.

Gruß,

Cairol

Lotti
15.03.2009, 08:07
Das klappt ja echt!
Erst einmal Danke für deine Unterstützung!

Nächstes kleine Problem:
Ich bekomme leider nur die ersten beiden Zeichen und das letzt von einem String oder nur drei Zeichen.

"123" geht
"Hallo" ergibt als Ausgabe Hao

baud und Takt sind bei beiden AVR gleich.

Cairol
17.03.2009, 17:03
Hast du die Sende- und Empfangspuffer in deinem Programm konfiguriert?



Config Serialin = Buffered , Size = 180 'Maximum für Easy-Radio!!
Config Serialout = Buffered , Size = 180

Weiß nicht, ob es daran liegt, aber schaden tut's sicher nicht.

Zu dem Empfangsproblem weiß ich leider sonst auch keine Lösung.
Ist das mit den "drei Zeichen am Anfang + das letzte Zeichen" immer so bei längeren Ausdrücken?

Was hast du für Antennen angeschlossen?
Und wie, also mit BNC-Stecker, direkt gelötet oder was?
Wenn du einfach nur Drahtstücke oder Stahlstäbe verwendest - wie lang hast du die gemacht?
Bei 433 MHz wären 70 cm gut, 35 cm das Minimum für anständige Ergebnisse.

Lotti
18.03.2009, 12:22
Hei
also nach einigem suchen und prbieren habe ich jetzt den Buffer direkt ausgelesen und siehe da es klappt auch dies.
Vielen Dank für deine Anregungen und Hilfe!

Gruß Lotti