www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik RS232 Protokoll nur mit TXD und RXD


Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich möchte gern eine Kommunikation zwischen Computer und µC realisieren.
Auf der PC Seite habe ich ein C Programm welches eine Datei laden und 
diese zum µC schicken kann. Ich möchte immer einen Integer schicken dann 
über den µC auf einem Flashspeicher speichern und dann irgendwie ein OK 
vom Controller zurückbekommen und dann den nächsten Integer usw. Ich 
habe aber nur die Leitungen RXD und TXD zur verfügung. Gibt es da 
fertige Protokolle. Wie macht man soetwas am besten? Ich brauche nur ein 
paar Denkanstöße.

Danke

Autor: mIcHa (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Empfehlenswert wär zB. das Intel-Hex Protokoll.
Da kann auf der Gegenstelle gleich auf Fehler in der Übertragung 
überprüft werden.
Siehe hier:

http://www.cs.net/lucid/intel.htm

mfg mIcHa

Autor: Martin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich wurde es so machen. Den Integer, also 2 oder 4 Bytes zum MC 
schicken. Ist der Integer abgespeichert, schickt der MC ein Byte zum PC 
(RxD aus PC sicht) mit einem Wert, den du festlegst. Hat der PC diesen 
Wert empfangen, schickt der PC den nächsten Integer. Und dann immer so 
weiter.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn der vom PC stammende Wert nicht in ASCII gesendet wird, würde sich 
vielleicht das ACK-Zeichen (Acknowledge) anbieten. Nur für den Fall, 
dass das Protokoll später mal erweitert wird. Wenn der µC z.B. nicht 
"einverstanden" ist mit dem Wert, dann gibts ein NAK (NoAcknowledge). 
Ist aber nur so n Gedanke.

Ralf

Autor: Frank (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, der letzte Ansatz ist schon OK, am Besten den Datensatz noch in STX 
und ETX verpacken, dann hat man schon ein ganz anständiges ACOP. Gab 
übrigens grad neulich schonmal nen Thread zu diesem Thema. -> 
Suchfunktion

bye

Frank

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

@Martin,Ralf

Ja, so hat ich mir das auch gedacht. Ist bestimmt die einfachste Lösung.

@Frank

Was heisst in STX und ETX verpacken?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
STX = Start of Text
ETX = End of Text

Einfach mal in eine ASCII Tabelle schauen.

Der µC ignoriert alle Zeiczhen von der UART bis ein
STX Zeichen auftaucht. Danach interpretiert und verarbeitet
er alles was von der UART kommt, bis ein ETX auftaucht.
Danach ignoriert er wieder.

Auf diese Art kann man in eine laufende Übertragung einsteigen,
ohne das es zu Fehlinterpretationen kommt. Kennst du doch
sicher: Du unterhälts dich mit einem Freund. Plötzlich
kommt noch jemand dazu, schnappt 2 Wörter auf und meint
mitreden zu müssen obwohl er keine Ahnung hat worum es
überhaupt im laufenden Satz geht.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Heinz,

ja das kenn ich, danke für die gute Erklärung.

Vielen Dank euch allen

Autor: manuete (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi Michael, stehe auch zur Zeit vor diesem Problem eine Kommunikation 
zwischen Computer und µC realisieren mit einem Protokoll....

STX = Start of Text  0x02
ETX = End of Text    0x03
CS = Checksumme/Prüfsumme

hast du schon rausgefunden wie es im Programm aussieht mit dem STX und 
ETX und eventuell mit der Prüfsumme

grüssle

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.