String Anfang finden bei Funkübertragung

Antworten
funkybaer
Beiträge: 440
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

String Anfang finden bei Funkübertragung

Beitrag von funkybaer » Mittwoch 23. November 2011, 08:11

Hallo zusammen

Ich hänge mal anfolgendem Problem:

Eine Datenübertragung von einem Pic zum PC über "einfache 433 MHZ" Funkmodule.
Wäre alles nicht so schwer wenn die Funktermometer usw nicht auch noch alles verseuchen würden.
Die Funkverbindung steht problemlos, aber wie finde ich im eingehenden String den Anfang ?
Com String empfangen übernimmt nach "CR LF" den String und erkennt meinen "test" Startstring und zerlegt alles problemlos-
wenn icht durch die "Störungen" am Anfang noch Zeichen wären .

Bisher sende ich "CR LF" vorher - ist aber auf Dauer nicht möglich.

ein eingehender String könnt z.B. so ausschauen "h36hkhjgbqtest123 13 10 " - oder "3&§test123 13 10" - also vor dem Test irgendwelche Zeichen
in beliebiger Anzahl.

Anbei die Grundschaltung

Bin mal auf die Antworten gespannt

Gruß Gerhard
Dateianhänge
funk.zip
(1.45 KiB) 319-mal heruntergeladen

Mike D
Beiträge: 528
Registriert: Dienstag 14. Oktober 2008, 14:48
Wohnort: Elbe- Weser-Dreieck

Re: String Anfang finden bei Funkübertragung

Beitrag von Mike D » Mittwoch 23. November 2011, 09:02

Hallo Gerhard,
wenn du mit einer festen Stringlänge arbeiten kannst mit $Length und $Delete die Störzeichen löschen.

Mike

tom_g
Beiträge: 215
Registriert: Freitag 31. Oktober 2008, 14:59

Re: String Anfang finden bei Funkübertragung

Beitrag von tom_g » Mittwoch 23. November 2011, 09:21

Hi Gerhard,

ich denke, dass Du hier mit der Stringoperation "pos" zum Ziel kommst. Als Referenz-String s$ definierst Du "test" und den verseuchten String speist Du in m$ ein. Die Operation liefert die Anfangsposition von test
Bpl: in m$ = "xxyyyf,fgtestnutzdaten" liefert 10

Nun kannst Du mit den Stringoperationen gezielt vorgehen, z.B. die nutzlose Preambel mit delete wegschneiden oä.

Mit freundlichen Grüssen:

Thomas
Curiousity makes us progress !

funkybaer
Beiträge: 440
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: String Anfang finden bei Funkübertragung

Beitrag von funkybaer » Mittwoch 23. November 2011, 10:39

Hallo Mike und Tom

Danke für die schnellen Antworten

So habe ich mirs ungefähr vorgestellt , hab heute noch den Versuch gemacht mit dem ersten Comstring einzulesen bis
"test" und dann mit dem 2. Comstring den rest bis "13 10" einlesen .

Geht Problemlos auch nach einem Intervall von 5 minuten - wo der "Störnebel schon lang war .

Allerdings werde ich doch auf die Methode gehen und mit dem PIC erst " 13 10" senden und dann die Nutzdaten .
ist der geringste Aufwand .

Vielen Dank nochmals

Gerhard

PS an Compander : damit schicke ich vom Quatrocopter die Batteriespannung und Strom an mich zurück.

funkybaer
Beiträge: 440
Registriert: Mittwoch 22. Oktober 2008, 08:51
Wohnort: Kitzingen

Re: String Anfang finden bei Funkübertragung

Beitrag von funkybaer » Mittwoch 23. November 2011, 10:43

Ach hier noch die geänderte Schaltung - Abfrage des Start und Ende Zeichens .

"Überbrückt" problemlos auch mal einige Aussetzer

Fehlt noch der Watchdog für den Empfang

Gruß Gerhard
Dateianhänge
funk.zip
(1.59 KiB) 354-mal heruntergeladen

Antworten

Zurück zu „Thema RS232“