www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Protokoll auf rs232 basis


Autor: Frank W. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo.

Ich habe vor einiger Zeit ein Protokoll auf RS232 Basis entwickelt. Das
ganze war relativ simpel. es wurden immer 3 bytes gesendet. das erste
und 2. byte war der befehl und das dritte der parameter.
Das ganze leif allerdings nicht so gut...denn wenn einmal eine seite
(µC/PC) die synchronisation nicht mehr stimmte, war schluss und alles
lief falsch. also habe ich sobalt ein befehl (byte1/2) rein kam,der
nicht bekannt war eine pause von einige ms gemacht und dann wieder von
vorne angefangen. das lief relativ gut...aber wenn ich viel zu
übertragen habe, läuft es immernoch unzuverlässig und wird immer
langsamer mit der Zeit.
Wie wird sowas normalerweise denn gemacht und wie kann man das ganze
zuverlässig aufbauen ??

Gruß, Frank

Autor: Bernhard S. (bernhard)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Frank,

ich nutze immer ger folgendes Verfahren (Protokoll), um Daten relativ
zuverlässig und einfach zu übertragen:

z.B.

1 Byte oder mehrere Bytes ===> Vorspann "*" (zur Syncronisation)
1 Byte ===> Befehl
1 Byte ===> Befehl
1 Byte ===> Parameter
1 Byte oder mehrere Bytes ===> Nachspann "#"
-----------------------------------------


ggf.
oder/und soar die Prüfsumme senden
oder/und den Empfang vom Daten-Empfänger quitieren lassen, notfalls
nochmal senden anfordern


Bernhard

Autor: Frank Simon (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
komisch, dass du soviele Fehler hast. Ich übertrage größere Datenmengen
zwischen Controller und PC (ca. 12 KByte pro Sekunde). Ich benutze ein
selbstgestricktes Handshake-Verfahren: Der PC sendet ein Byte, dann
sendet der uC 500 Bytes, usw. Zur Sicherheit habe ich zwar eine
Prüfsumme drin, aber die ist noch nie abgewichen. Der UART im
Controller läuft mit 128kBaud, ich verwende PC-seitig einen USB-Adapter
(Marke Superbillig).
Vielleicht kommen Deine Fehler (wie bei mir lange Zeit) von der
PC-Seite bzw. von Fa. Microsoft: Mir ist es nie gelungen, den
Windows-Puffer ohne sporadische Verluste auszulesen, bis ich gemerkt
habe, dass ich immer nur ein Byte holen darf. Offiziell geht das ja
auch in größeren Schlücken, aber irgendwann geht ein Byte hopps.
Vielleicht hats geholfen, viel Glück weiterhin
Frank Simon

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.