PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN Funk mit easyradio. Print Befehl schickt immer 10 byte



mirco99
14.09.2007, 08:09
Hallo habe das Problem, das mein Handsender (Mega 8 8 MhZ und EasyRadio Funkmodul) bei einem Print befehl zum Funkmodul immer nach dem Return (13) eine 10 anhängt.
Was bedeutet die 10? 13 heisst ja CReturn.

Der Empfänger (gleiche Konstulation) muss diese 10 Byte nicht verstehen und für den nächsten Befehl im Speicher belassen. So funktioniet nur der 1 Tastendruck (bei mir eine Stopp Taste)und danach nimmt er nichts mehr an. Alle anderen Befehle funktionieren.

Dazu muss ich sagen, das Empfängergerät überwacht mit den inkey Befehl andauernd den Funkeingang um bei einem empfangenen S Sofort aus dem laufenden Programm zu gehen.

Wenn ich mit meiner selbstgeschriebenen Delphi Software die Befehle nicht als String sondern als Byte schicke und die 10 nach dem Return (13)
weglase, funktioniert die empfängereinheit problemlos.


Also muss ich einen Weg finden, dem Handsender die 10 am Ende abzugewöhnen oder die Empfangseinheit anders sofort stoppen zu lassen.
Gibt es einen befehl den Controllerbuffer zu löschen? Dann wäre mein Problem auch gelöst. Wohin schreibt der Controller die Empfangenen Daten ? Ich schreibe nicht ins Eprom!

Ich bin schon kurz davor einen Pi an Reset des Controllers zu bauen und nach stopp zu resetten. Aber das gefällt mir gar nicht, da auch I2C anwendungen laufen.

Man hat irgendwie immer probleme, wenn der Controller 2 Sachen gleichzeitig machen muss.

für eure Anregungen schonmal vielen Dank.

chr-mt
14.09.2007, 08:41
Hi,
die 10 ist "LineFeed" und wir immer angehängt.

Wenn du das nicht haben willst, dann mußt du Carriage Return/Linefeed ausschalten (Mit dem Semikolon) und die die 13 wieder manuell dranhängen.

Print"hallo";
Print chr(13);

Gruß
Christopher

mirco99
14.09.2007, 09:03
Dank dir,
ich werde es heute Abend gleich testen.
Falls das nicht funktionieren sollte, hat jemand noch eine Idee.