www.mikrocontroller.net

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


Autor: Totti (Gast)
Datum:

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

Autor: Erklärer (Gast)
Datum:

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

Autor: Totti (Gast)
Datum:

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

Autor: Erklärer (Gast)
Datum:

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

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>--> Entwicklungsumgebung Microsoft Visual C++.

Welche Version ?

Link doch mal ftd2xx.lib mit dazu.

Autor: Totti (Gast)
Datum:

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

Autor: Totti (Gast)
Datum:

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

Autor: Totti (Gast)
Datum:

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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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:
 #pragma comment(lib, "ftd2xx.lib")

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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

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

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.