Hallo,
Also: 27 80 als Daten wird als 27 27 80 gesendet.Die Logik verstehe ich nicht ganz. Wenn der Wert des Steuerzeichens auch in den Daten vorkommen kann, wie kann man dann ausschließen, dass es sich bei einem "scheinbaren" Steuerbefehl nicht zufällig um zwei Datenwerte handelt, die aussehen wie ein Steuerbefehl. Also konkret: wenn 0x1B einen Befehl markieren würde und ein 0x50 würde zB die Ausgabe von der folgenden drei Bytes (binary) auf einem LCD bedeuten, wie wäre der Fall davon zu unterscheiden, dass einfach zufällig dezimal 27 und 80 in einem anderen Zusammenhang aufgetaucht sind? Sich nämlich darauf zu verlassen, dass man immer sicher im Leseraster ist (was natürlich eine Lösung wäre), finde ich etwas gewagt ... Oder habe ich da irgendwo einen Denkfehler?
Sobald 27 im Datenstrom auftaucht wird dieses beim Empfänger entfernt und das nächste Byte auch, weil dies der Befehl ist. Das folgende 80 ist dann der Befehl fürs LCD ...
Der Befehl 27 bedeutet dann, füge 27 in den Ausgabestrom ein.
In Pseudocode:
MfG Peter(TOO)Code:z1 = LeseZeichen() If (z1 = 27) then Z2 = Lese Zeichen() if (z2 = 0) then ..... if (z2 = 1) then ..... if (z2 = ..) then ..... if (z2 = ..) then ..... if (z2 = 27) then SchreibeZeichen(27) if (z2 = ..) then ..... if (z2 = 80) then SchreibeLCD() if (z2 = ..) then ..... else Schreibe Zeichen(z1) endif
Lesezeichen