- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 18

Thema: UART ohne CrLf?

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #10
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    04.09.2011
    Ort
    Hessen
    Beiträge
    707
    Zitat Zitat von malthy Beitrag anzeigen
    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.
    Das ist genauso wie mit den Escape-Sequenzen in C. Man schreibt da ja z.B. "\r\n" für das CR LF. Wenn man einen Backslash schreiben will, schreibt man "Dies ist ein \\". Der Backslash ist hier das Escape Zeichen.

    - - - Aktualisiert - - -

    Zitat Zitat von Che Guevara Beitrag anzeigen
    Hi,
    Zum Beispiel will ich von der festen Array-Länge weg, da es in manchen Fällen vorkommen kann, dass nur 10% von den 132 Bytes effektiv genutzt werden. Das ist zwar grundsätzlich egal, sieht aber nicht schön aus.
    Auch wäre eine Verbindung verschiedener µCs untereinander nicht schlecht, sodass am Anfang eines Arrays zuerst der Empfänger, dann der Sender, dann die Anzahl der folgenden Bytes und anschließend evtl. noch eine Checksumme integriert sind. Außerdem wäre es eine schicke Idee, die Daten sozusagen Seitenweise zu übertragen, heißt:
    Eine Seite ist z.b. 10Bytes lang,
    Was du da beschreibst, machen z.B. Automobil Steuergeräte häufig mit dem oben schon erwähnten abgewandelten ISO-TP.

    Beispiel:

    Es sollen die Daten 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 übertragen werden. In der Praxis natürlich viel mehr Daten, aber ich will nicht so viel schreiben.

    Entweder die beteiligten Geräte wissen, welche maximale Paketgröße die jeweilige Gegenstelle verträgt, oder sie handeln das auch noch mit dem Protokoll aus. Das lasse ich hier aber mal weg.


    Fall 1 ein großer Controller akzeptiert alle Daten auf einmal:
    Der Sender sendet 0x02 0x01 0x08 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07 yy. Das sind ein STX, die Framenummer 1, Datenzahl 8, die Daten und irgendeine Prüfsumme yy.
    Der Empfänger bestätigt z.B. 0x02 0x01 0x06 yy . Das sind STX, Framenummer, ACK und Prüfsumme.


    Fall 2 ein kleine Controller akzeptiert maximal 4 Datenbytes auf einmal:
    Der Sender sendet 0x02 0x01 0x04 0x00 0x01 0x02 0x03 yy
    Der Empfänger bestätigt mit 0x02 0x01 0x06 yy
    Der Sender sendet 0x02 0x02 0x04 0x04 0x05 0x06 0x07 yy ( STX; 2. Frame; 4 Bytes; Daten; Prüfsumme )
    Der Empfänger bestätigt mit 0x02 0x02 0x06 yy

    Hoffe jetzt wird es etwas klarer.
    Geändert von Mxt (08.08.2014 um 17:35 Uhr) Grund: Erklärung

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 13.06.2012, 18:22
  2. Soft-Uart - Intergerzahlen ohne ext. Quarz übermitteln
    Von #fritz# im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 10.10.2011, 19:31
  3. Übertrageung zwischen PC/µC und µC aber ohne Uart
    Von Michael 123 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 10
    Letzter Beitrag: 18.06.2006, 09:15
  4. Software-UART ohne Start-, Stop- und Paritybit
    Von TurboFischer im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 05.06.2006, 22:07
  5. Ohne mampf kein Kampf (ohne strohm geht nichts)
    Von Andal im Forum Elektronik
    Antworten: 21
    Letzter Beitrag: 26.11.2004, 19:40

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress