FT232RL - Buffer Leeren

OP #1743004
Lesenswert?

Hallo

Ich verwende einen FT232RL mit 3Mbaud an einem Attiny2313 welcher mit 
24MHz direkt vom FT232RL versorgt wird.

Ich Lese am Computer mit der FTDI Library immer 1000bytes aus solange 
bis ich 50'000 bytes empfangen habe.

Dies klappt problemlos wenn ich es kurz bzw unmitelbar nach dem 
Connecten mache.

Warte ich ein wenig, so habe ich innerhalb weniger ms alle 50'000 Daten 
empfangen. Klicke ich danach nochmal auf empfangen, so werden wieder 
neue daten eingelesen.

Ich tippe hier auf einen Buffer im FT232 hin oder auf einen in der 
FTLibrary.

Wie kann ich also den Buffer leeren bzw mit jedem abrufen von daten neue 
daten erhalten und keine aus irgendeinem buffer?

Danke schonmal
#1743016
Lesenswert?

"Mit der FTDI-Library" heißt was? Eigentlich sollte der Treiber ja eine 
ganz normale serielle Schnittstelle emulieren. Dann hängt dein Programm 
nicht vom FTDI ab. Welches Betriebssystem, Windows?

Man könnte die üblichen Systemaufrufe fürs "Flushen" der seriellen 
Schnittstelle probieren (z.B. PurgeComm unter Windows), aber:

Sowohl PC als auch FT232 haben Buffer, dein Vorhaben wird also sehr 
schwierig. Kannst du nicht ein Zeichen für "Abgrenzung" - also "hier 
fängt der neue Datensatz an" verwenden? Dann kann man einfach so weit 
lesen bis nichts mehr da ist, und dann den letzten Datensatz nehmen.

Gruß
David
OP #1743024
Lesenswert?

David Madl schrieb:
> Kannst du nicht ein Zeichen für "Abgrenzung" - also "hier
> fängt der neue Datensatz an" verwenden?

Hmm Klingt gut....

David Madl schrieb:
> Mit der FTDI-Library heißt was? Eigentlich sollte der Treiber ja eine
> ganz normale serielle Schnittstelle emulieren. Welches Betriebssystem,
> Windows?

Mit der FTDI Library heisst, das ich deren DLL verwende um mit meinem 
Programm auf deren Chip zuzugreifen.

Dies ist notwendig, da die WinAPI keine Baudraten von 3Mbaud unterstützt

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