Forum: PC-Programmierung mit C(/C++) auf FT232BM (USB) zugreifen


von Totti (Gast)


Lesenswert?

Hallo Forum!!

Ich habe folgendes Problem:
Ich möchte ein C-Programm schreiben (erstmal ein ganz normales
Konsolenprogramm, später GUI-Anwendung mit C++), dass über den 
FT232BM-Baustein der Firma FTDI auf USB zugreifen kann 
(schreiben/lesen). Ich habe mir schon den DLL-Treiber runtergeladen.
- Brauche ich noch andere Dateien?
- Wie muss ich mein Programm gestalten (was includen, welche Befehle)?

Vielleicht kann mir jemand helfen, wie ich diesen im Programm nutzen
kann... (es sollte wirklich mit dll gehen, nicht über WinAPI und dem 
virtuellen COM-Port).

Vielen Dank!
Gruß, Totti

von Erklärer (Gast)


Lesenswert?

Bei der dll ist eine Doku dabei in der die enthaltenen Funktionen 
aufgeführt und erklärt sind. Wenn mich nicht alles täuscht sogar eine 
Header Datei.
Wie man eine dll (statisch oder dynamisch) "anzieht" ergoogelst du am 
besten, das steht schon 97576 mal im Netz...
Du hast übrigens nicht geschrieben welche Entwicklungsumgebung du 
verwendest...

von Totti (Gast)


Lesenswert?

--> Entwicklungsumgebung Microsoft Visual C++.
Die Befehle finde ich schon in der Doku. Leider wird da nur beschrieben, 
was diese machen. Nur hilft mir das nichts, wenn ich diese Funktionen 
nicht benutzen kann..

Also ich habe mittlerweile in mein C-Programm die Header-Datei FTD2XX.H 
eingebunden. Allein dadurch bekomme ich 102 Fehlermeldungen !?

Durch Googeln kam ich leider auch nicht viel weiter..

Vielleicht kann mir jemand den Link einer guten Beschreibung posten..

von Erklärer (Gast)


Lesenswert?

Das Header-File alleine reicht natürlich nicht. Dein Compiler weiß dann 
nur dass es die Funktionen gibt, aber nicht wo sie sind. Schau mal ob 
eine LIB Datei noch dabei ist. Wenn ja weiß ich aber auch nicht genau 
wie man die mit VisualStudio einbindet. Wenn nicht musst du Dir passend 
zur Header Datei noch ein Modul schreiben, indem du dem Compiler sagst 
welcher DLL die Funktionen genau sind und wie die jeweils in der DLL 
heisen.

>Durch Googeln kam ich leider auch nicht viel weiter..

Das glaube ich jetzt einfach mal so nicht. Google nach z.B. "VisualC++ 
DLL einbinden" bringt mit Sicherheit mehr als du willst.

von holger (Gast)


Lesenswert?

>--> Entwicklungsumgebung Microsoft Visual C++.

Welche Version ?

Link doch mal ftd2xx.lib mit dazu.

von Totti (Gast)


Lesenswert?

--> Version 6.0

nach dem ich #include "ftd2xx.lib" in die ftd2xx.h eingefügt habe, kam 
folgende Meldung:
"Include-Datei kann nicht geoeffnet werden: 'ftd2xx.lib': No such file 
or directory"
Ich habe dann einfach mal die .lib-Datei in mein Programmverzeichnis 
kopiert. Danach waren es wieder die 102 Fehlermeldungen (in der 
Header-Datei FTD2XX.H).

von Totti (Gast)


Lesenswert?

Hah! ok, ein Hoch auf Google...
ich musste die ftd2xx.lib in das Projekt einbinden ("Die LIB-Datei 
einfach in der Dateiansicht des Projekts über rechte Maustaste, "Datei 
zu Projekt hinzufügen" ("Add file to project") dazunehmen, dann sollte 
VC sie automatisch richtig einordnen.").

Danke erstmal!

von Totti (Gast)


Lesenswert?

hmm.. zu früh gefreut.. immer noch 102 Fehler ...

also: ich habe jetzt folgende Konstellation:
- in meinem Projektordner befinden sich jetzt zusätzlich: ftd2xx.h, 
ftd2xx.lib
- system32-Ordner: ft2xx.dll

In der .c-Datei wird #include "ftd2xx.h" aufgerufen.
In der ftd2xx.h habe ich die Zeile #include "ftd2xx.lib" hinzugefügt.
Ins Projekt habe ich wie oben beschrieben die .lib eingebunden...

von Christian R. (supachris)


Lesenswert?

Eine lib wird nirgendwo includiert. Das musst du mal wieder rausnehmen. 
Dann gehst du zu Projektoptionen -> Linker -> Libraries und dort gibst 
du die lib mit an.
Musst du mal bissl schauen, ist schon einige Jahre her, dass ich mit der 
VC6 arbeiten "durfte" uargs.
Jedenfalls musst du dem Linker bekannt machen, dass er die lib benutzen 
soll.
Includiert werden nur Header-Files und in h-Dateien eines Herstellers 
wird überhaupt nix rumgeschrieben.
Wenn du in den Projektoptionen die Linker-Lib-Option nicht findest, 
kannst du das dem Linker auch mit folgender Zeile am Anfang deiner cpp 
Datei kund tun:
1
 #pragma comment(lib, "ftd2xx.lib")

Außerdem könnte es helfen, das Beispielprogramm für VC von FTDI 
anzuschauen.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Und wenn Du Fehlermeldungen erhältst, ist deren Anzahl irrelevant, Du 
solltest Dir die ersten paar davon ansehen. Und, wenn Du sie nicht 
verstehst, hier posten.

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.