Moin, sagt mal: was hat es mit dem Receive Buffer Timeout auf sich? Laut Datenblatt wird der Receive Buffer nach 16 ms (Standard) geleert. Aber wonach denn? Wann startet der Timer ueberhaupt? Sobald ich das erste Byte auslese? Habe folgenden Testaufbau: 8x LED an den Datenleitungen 1x LED an RXF# 1x Taster an RD# gegen GND Nun sende ich vom PC eine Zeichenkette an den FT245RL: $ echo "Hallo Welt" > /dev/ttyUSB0 dann geht die RXF# LED an (so soll das sein) und zeigt mir an, dass da was im Puffer zur Abholung bereit liegt. Ich druecke feierlich auf den Taster, halte ihn gedrueckt, und kann ein einwandfreies binaeres "H" an den Daten-LEDs ablesen (das funktioniert auch prima mit jedem anderen Zeichen, also die Kommunikation zwischen PC und FT245 funktioniert). Dann lasse ich den Taster los, die Daten-LEDs erloeschen, die RXF# LED bleibt an (der Puffer ist also noch nicht leer). Nun druecke ich den Taster erneut und erwarte ein "a", bekomme aber das letzte Zeichen, also ein "t". Aber: "manchmal" bekomme ich zufaellig auch die anderen Zeichen der Zeichenkette. Dieses Verhalten kann ich aber im Moment nicht gezielt rekonstruieren. Ich habe deswegen diesen ominoesen Timeout in Verdacht. Das widerspricht sich aber, weil ich ja manchmal auch andere Zeichen aus der Zeichenkette auslesen kann. Hat da jemand eine Erklaerung im Zusammenhang mit dem Timeout?
Ich mag mich auch täuschen, aber ich glaube vor langer Zeit gelesen zu haben, dass der Timeout nicht im IC, sondern PC-seitig mittels Treiber festgelegt wird.
> Aber: "manchmal" bekomme ich zufaellig auch die anderen Zeichen > der Zeichenkette. Dieses Verhalten kann ich aber im Moment nicht > gezielt rekonstruieren. > 1x Taster an RD# gegen GND Kann es sein, dass dein Taster ab und an mal prellt?
Karl Heinz schrieb: > Kann es sein, dass dein Taster ab und an mal prellt? Um das auszuschliessen habe ich den Taster mittlerweile durch eine astabile Kippstufe mit 1 Hz ersetzt. Die Daten werden jetzt automatisch aus dem Puffer an die Daten-LEDs rausgetaktet. Zum testen habe ich mit $ cat lauflicht > /dev/ttyUSB0 eine Bytefolge "01 02 04 08 10 20 40 80 (hex)" an den FT245 gesandt. Trotzdem hat dieser immer wieder das ein oder andere Byte verschluckt, teilweise nur jedes zweite Byte angezeigt Jetzt kommt der Knüller: habe beim Umverdrahten den lt. Datenblatt geforderten 4,7µF Elko versehentlich von der Stromversorgung abgelötet und jetzt läuft der Mist. Warum? Kann ich mir nicht erklären! Jedenfalls wird das Lauflicht jetzt ohne Aussetzer abgespielt.
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.