Hi, Wenn ich mit eignen Befehlen über einen Seriell-Port kommuniziere, gibts solches Problem: Was passiert wenn die Datenbits mit einem Befehlcode zufällig identisch sind? Gruss Meyer
Hi, du musst schon dafür sorgen, dass eine solche Verwechslung nicht stattfinden kann. Entweder müssen Daten und Befehle eindeutig unterscheidbar anhand ihres binären Wertes sein oder es muss eine definierte Abfolge eingehalten werden. Also Befehl, Daten, Daten, Befehl, etc.
Schau mal in meinen Bootloader, der arbeitet mit Text-Kommados. Daneben gibt es auch einen Binärmodus zum Senden der Programmierbytes (damits schnell geht), d.h. alles Bytes werden direkt gesendet außer 0xA5. Mit der Sequenz 0xA5,0xA5 wird das Byte 0xA5 gesendet, bzw. mit 0xA5,0x00 der Binärmodus beendet und der Textmodus wieder aktiv. Peter
Hallo "Meyer", noch eine kleine Anmerkung zu Peters Beispiel. Bytewerte, die zum Umschalten vom Daten- in den Kommandomodus benutzt werden, nennt man - so ein Zufall - Umschaltzeichen (etwas englischer und gebräuchlicher: Escape-Zeichen). Die werden eigentlich bei allen seriellen Protokollen verwendet (z.B. beim Point-to-Point-Protokoll).
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.