Forum: PC-Programmierung FR245RL mit C++ ansprechen, BitBang-Modus


von Matthias (Gast)


Lesenswert?

Hallo,

Ich habe eine kleine Platine mit einem FT245RL und möchte sie mit C++ im
BitBang Modus ansteuern.
Als Compiler wird wxdevC++ verwendet. Eine Konsolenanwendung reicht aus.

Problem ist, das ich noch nie mit Schnittstellen, Dateien oder 
Objektorientiert gearbeitet habe.

Ich habe das Datenblatt für den Bit-bang Modus,
http://www.ftdichip.com/Support/Documents/AppNotes/AN_232R-01_Bit_Bang_Mode_Available_For_FT232R_and_Ft245R.pdf

Und als Allgemeine Datenblatt.
http://www.ftdichip.com/Support/Documents/ProgramGuides/D2XX_Programmer%27s_Guide%28FT_000071%29.pdf

Treiber sind ebenfalls installiert.

Nun weiß ich nicht was ich zum Ansprechen des Chips brauche,
Die FTD2xx.dll, FTD2xx.h habe ich.

Ist da sonst noch was nötig?

Dann stellt sich noch die Frage wie ich sie Benutze, die Funktionen 
aufrufen kann. Denn ich bekomme immer viele Fehler.

Muss ich noch Einstellungen im Compiler/Linker beachten,
oder die Dll anders als mit LoadLibrary("Ftd2xx.dll");
Hochladen?

Danke für eure Tipps!

Grüße
Matze

von Ralf (Gast)


Lesenswert?

Hi Matze,

> Ich habe eine kleine Platine mit einem FT245RL und möchte sie mit C++ im
> BitBang Modus ansteuern.
> Problem ist, das ich noch nie mit Schnittstellen, Dateien oder
> Objektorientiert gearbeitet habe.
Dann würd ich das Projekt auf die Seite legen, und erstmal die Beispiele 
für C++ Konsolenanwendungen durcharbeiten. Dauert nicht lange, aber gibt 
dir einen vom Rest unabhängigen Einstieg. Wenn das OO-Verständnis dann 
da ist, kannst du dich an die DLL wagen.


> Ist da sonst noch was nötig?
> Dann stellt sich noch die Frage wie ich sie Benutze, die Funktionen
> aufrufen kann. Denn ich bekomme immer viele Fehler.
http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples.htm
Was die Fehler betrifft wär's sinnvoller sie zusammen mit dem Code zu 
posten.

> Muss ich noch Einstellungen im Compiler/Linker beachten,
> oder die Dll anders als mit LoadLibrary("Ftd2xx.dll");
> Hochladen?
Das kann ich dir leider nicht sagen, ich kenne deinen Compiler nicht.

Ralf

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Matthias schrieb:
> Muss ich noch Einstellungen im Compiler/Linker beachten,
> oder die Dll anders als mit LoadLibrary("Ftd2xx.dll");
> Hochladen?

Hochladen?

Wenn Du eine DLL mit LoadLibrary lädst, musst Du die Funktionspointer 
auf die darin enthaltenen Funktionen mit GetProcAddress selber 
bestimmen.

Erst danach kannst Du die Funktionen in der DLL über diese 
Funktionspointer ansprechen.

Das ist recht flexibel, weil Dein Programm auch bei Nichtvorhandensein 
der DLL prinzipiell läuft, und gegebenenfalls sinnvolle Fehlermeldungen 
ausgeben kann oder mit eingeschränkter Funktion benutzt werden kann.

Einfacher ist die Verwendung einer Importlibrary, die sich aus Sicht des 
Compilers wie eine statische Library verhält.
Hier muss zur Laufzeit die DLL zwingend vorhanden sein, da sonst der 
Programmlader des Betriebssystem deren Fehlen ankreidet und das Programm 
gar nicht erst startet.

von Matze (Gast)


Lesenswert?

Muss es erstmal zur Seite legen, denn seit gestern wird das Kärtchen 
nicht mehr richtig erkannt, und funktioniert auch mit dem ursprügnlichen 
Test-Programm nicht mehr.

So werde ich erst in einem Monat mit neuem Controller sinvoll 
weitermachen können.

Danke für die Antworten, ich werd mich in die OOP reinlesen.

Matze

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.