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
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
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.
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
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
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?
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.
Hallo Heinz, ja das kenn ich, danke für die gute Erklärung. Vielen Dank euch allen
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
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.