mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik FTDI Daten lesen


Autor: Clemens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Clemens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Weschenfelder (Firma: andreas-weschenfelder.de.vu) (rupplyn) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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)

Autor: Christian R. (supachris)
Datum:

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

Autor: Clemens (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.