Probleme mit Hardware Handshake

OP #872750
Lesenswert?
• ▲
▼
Hallo Controller-Freunde,

hab da ein Problem mit dem seriellen Hardware Handshake meines 8051 ein 
Paar Probleme.
Und zwar:

- sobald ich die serielle Übertragung stoppe um die empfangenen Daten in 
den internen EEPROM zu brennen und sie danach wieder starte wird das 
übernächste empfangene Byte einfach weggelassen, es fehlt
z.B. ich schicke den satz " Hallo wie gehts?" nach dem Hallo stoppe ich 
die Übertragung am ende empfängt mein Controller den Satz "Hallo ie 
gehts?" das "w" ist einfach fort das passiert egal wann ich die 
Übertragung zwischendurch stoppe immer ist das übernächste Byte fort.

MfG Flo
#872780
Lesenswert?
• ▲
▼
Hallo,

die Übertragung stoppt im Allgemeinen erst, wenn der sendende Part 
seinen Buffer losgeworden ist. Das können durchaus auch mehr Zeichen 
sein.
Du mußt also nach dem Stop noch solange empfangen, bis nichts mehr 
kommt.

Ich bin deshalb für sowas auf das alte XMODEM ausgewichen, das sendet 
immer 128 Byte Blöcke und wartet dann auf ein ACK vom µC. Hat allerdings 
evtl. andere Nachteile.

Gruß aus Berlin
Michael
#872811
Lesenswert?
• ▲
▼
Florian Patzer wrote:
> was passiert eigentlich wenn ich die serielle datenübertragung stoppe?
> wird das byte währenddessen gestoppt wird übertragen und beim starten
> mit dem nachfolgenden byte begonnen oder das vorhergehende nochmals
> gesendet?

Du kannst die Übertragung überhaupt nicht stoppen.
Du kannst lediglich der Gegenstelle deinen Wunsch vortragen,
sie möge doch bitte das Senden einstellen.
Ob und wann die Gegenstelle auf diesen Wunsch reagiert, liegt
im Ermessen der Gegenstelle.

Genau deshalb musst du nach der Äusserung dieses Wunsches
noch eine Zeitlang empfangsbereit bleiben und noch mögliche
Zeichen aufnehmen können.
OP #919106
Lesenswert?
• ▲
▼
Die Probleme mit dem Seriellen Handshake liessen sich mittlerweile 
lösen.
Auch der Rest konnte behoben werden.
Eine Frage ist jedoch neu aufgekommen und zwar ist mir aufgefalle das 
nach einem angemeldeten stoppen der Übertragung die noch gesendeten 
Daten in der Anzahl der Bytes variieren Bsp. die ersten beiden Stopps 
sind es 2 nachfolgende Bytes, das dritte mal 4...
kann man die größe des Puffers einstellen sodass immer die gleiche 
Anzahl an Bytes gesendet wird?

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.