Zitat Zitat von Foooob
@ digitali
Vielen Dank für die Hilfe!
Deinen Code weiter oben habe ich mal analysiert und versucht nachzuvollziehen. Man! Der verwendet Schlüsselwörter die ich noch gar nicht kannte aber die einem das Leben echt vereinfachen ;-)

Ich habe aber noch einige Fragen zu denen ich unter anderem auch in der Bascom-Hilfe und im Datasheet nix fand.

1. Config Serialin = Buffered , Size = 10
Ich schätze mal hier setzt du den Eingangspuffer für die RS-232 auf 10 Bytes. Ich dachte der ist bei jedem Mega fest eingestellt und kann nicht verändert werden? Oder etwa doch?
Also in der Basom-Hilfe Stichwort "config serialin" steht nichts von einem fest eingestellten Wert. Im Original-Programm stand der Wert auf 100.

Zitat Zitat von Foooob
2. Zeichen = Read_string(8)
Darfste ja eigentlich nicht auskommentieren. Aber ganz eine andere Frage: Was bewirkt diese Zeile? Sie ruft die Funktion read_string auf und übergibt ihr den Parameter für die Länge des Strings (hier 8), richtig?
Und die Zeile: Read_string = Left(ss , T) ist dann der Rückgabewert der Funktion read_string als String? Und dieser Rückgabewert ist dann gleich dem String Zeichen??
Wieso ist dann aber Zeichen 6 Stellen lang? Müsste es nicht 8 sein? Da wir ja den String Ss bis zum 8. Zeichen von links "ausschneiden".
Ich hatte es auskommentiert, weil ich keine weiteren Zeichen nach dem Empfang von "a" eingelesen hatte. Wollte nur ad hoc zeigen, dass zumindest das wait_for_string so schon mal funktioniert.
Die Funktion read_string habe ich so aus dem Beispiel uebernommen und deren Werte auf die Schnelle nicht weiter angepasst. Sie liest dann die nachfolgenden 8 Werte ein und uebergibt diese der Stringvariable (die ich haette mit der Laenge 8 deklarieren muessen) "Zeichen".

Zitat Zitat von Foooob
3. Du schreibst Cc = ","
Das heist das Komma ist das Endezeichen? Hier verwendest du aber im Gegensatz zu der Zeile weiter oben nicht das Chr(), also Chr(Cc) = "," Wenn ich auf ein Endezeichen im ASCI-Standard warte könnte/sollte/müsste ich dann Chr(Cc) = "," schreiben?
Das Beispiel stammt, wie gesagt, aus einem Programm welches den Datenstrom einer GPS-Mouse einliest. Die einzelnen Werte innerhalb eines Datensatzes werden immer mit einem "," getrennt.
Beispiel:
$GPRMC,213926.206,V,0000.0000,N,00000.0000,E,,,140 606,,*18


Mit freundlichen Gruessen
Digitali