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

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