RS232 Protokoll nur mit TXD und RXD

Gast #536379
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
Gast #536395
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.
Gast #536411
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
Gast #536417
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
#536704
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.
Gast #602911
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren