Forum: Mikrocontroller und Digitale Elektronik FTDI Daten lesen


von Clemens (Gast)


Lesenswert?

Hallo,
ich bin gerade dabei Daten an meinen µC zu senden. Der µC wertet die 
Daten aus und meldet einen Fehler wenn Daten verloren gegangen sind.
An meinen µC habe ich einen FTDI Chip FT232BM angeschlossen.
In meinem Programm am Rechner (VB6) kann ich mit der Funktion FT_Read 
die im Buffer stehenden Zeichen lesen. Funktioniert alles soweit 
einwandfrei.
Jetzt habe ich aber das Problem, dass ich immer prüfen muss, ob Daten im 
Buffer stehen, also ständig in irgendeiner Art und Weise mein Programm 
unterbrechen muss um nach Daten im Buffer schauen.
Gibt es die Möglichkeit, dass so eine Art MSComm1.CommEvent.comEvReceive 
im Hintergrund läuft und von alleine reagiert, sprich eine von mir 
erstellte Funktion aufruft, die die Daten aus dem Buffer liest?

Danke schon mal

Gruß
Clemens

von Ralf (Gast)


Lesenswert?

Hi Clemens,

ich weiss nicht, ob die FTDI-Treiber das unterstützen, ich bin selbst 
erst dabei, mich einzuarbeiten. Aber als schneller Workaround wäre evtl. 
ein Timer in VB hilfreich. Jedesmal wenn das Timer-Event kommt, prüfst 
du in der Event-Routine den Buffer.Wäre das evtl. hilfreich?

Ralf

von Clemens (Gast)


Lesenswert?

An sowas habe ich auch schon gedacht, aber ist leider nicht so schön wie 
irgendein vom Treiber/µC ausgelöstes Event. Ich hab heute erst damit 
angefangen das Manual zu lesen. Mal schaun ob ich noch mehr rausfinde.

Vielen Dank
Gruß
Clemens

von Andreas W. (Firma: andreas-weschenfelder.de.vu) (rupplyn) Benutzerseite


Lesenswert?

du benutzt die FT2XX.DLL oder?!? ein event wie z.b. bei einem 
activex-element (mscomm) kann damit nicht realisiert werden. ich denke 
das eleganteste ist es, in einem anderen thread den puffer zu pollen und 
bei datenempfang die daten dem hauptthread bekannt zu machen. (so hab 
ich das zumindest in delphi mal realisiert)

von Christian R. (supachris)


Lesenswert?

Ein Lesethread im Hintergrund, der ein Event auslöst, wenn was da ist, 
wäre die Standard-Lösung.

von Clemens (Gast)


Lesenswert?

Hallo nochmal,
der VCP Treiber macht doch sicherlich nichts anderes, wie bei einem 
Dateneingang im Buffer ein Event auszulösen (bzw. eine Meldung an mein 
MSComm Modul und dies löst eine Event aus). Das heißt doch das genau 
mein Problem mit dem VCP Treiber gelöst wird.
Ist es jetzt nicht möglich etwas in VB nachzuprogrammieren, was genau 
dies macht, ohne den VCP Treiber zu verwenden?

Gruß
Clemens

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
Noch kein Account? Hier anmelden.