Sagt mal Leute, hat es schon einer geschafft einen UMFT200XD http://www.ftdichip.com/Support/Documents/DataSheets/Modules/DS_UMFT200XD.pdf unter QT ans laufen zu bekommen? Dabei wird kein virtueller Comport sondern die MPSSE genutzt. Also QLibrary d2xx("FTD2XX.DLL"); QLibrary lib("libMPSSE.dll"); Interessanterweise kann ich mit der FTD2XX reden. Ein Aufruf von status = p_func_FT_CreateDeviceInfoList(&NumDevs); liefert mir z.B eine 1 zurück wenn der Adapter angesteckt ist und 0 wenn nicht. Aber bereits das hier: p_func_Init_libMPSSE(); //ueberfluessig? status = p_I2C_GetNumChannels (&NumOfChannel); schlägt fehl. Der Status ist FT_OK, aber NumOfChannel bleibt immer 0, obwohl jetzt ja eigentlich ein I2C-Channel da sein sollte. Eigentlich denke ich, das ich da nicht mehr viel falsch machen kann, leider scheint die Praxis gegen mich zu sein. :-) So sieht die Typendefinition aus: typedef FT_STATUS (__stdcall *pfunc_I2C_GetNumChannels)(uint32_t * numChannels ); Wie kann es sein das die Basislibary FT2D2XX funktioniert, aber die darauf aufbauende Libray MPSSE nicht? Liegt das an QT? Oder muss man die noch irgendwie verbinden? Olaf
Ich kann Dir zwar nicht sagen, was da schief läuft aber mit Qt hat das sehr wahrscheinlich nichts zu tun. Schonmal die statischen libs versucht? Ich würde Dir empfehlen zuerst einen Beispielcode von FTDI zum Laufen zu bringen und darauf Applikation aufzubauen. Nur mit der Doku bei 0 zu starten kann sich als ziemlich frustrierend erweisen...
> Ich kann Dir zwar nicht sagen, was da schief läuft aber mit Qt hat das > sehr wahrscheinlich nichts zu tun. Jain.. > Schonmal die statischen libs versucht? Noch nicht. Teste ich vielleicht morgen mal. Ich vermute mal das ganze hat irgendwas mit der Uebergabe der Parameter an die Libary zu tun. Ich wuerde wetten das irgendwas mit den Aufrufkonventionen nicht stimmt. Allerdings kann man ja kaum mehr machen als __ccdecl, __stdcall und __fastcall auszuprobieren. Letzeres fuehrt zum absturzt, die beiden fuehren beiden nicht zum gewuenschten Ergebnis. Aber interessanterweise zu keinem Absturz. Allerdings kann man im Internet ein paar Leute finden die keine guten Worte ueber libMPSSE verloren haben: http://www.eevblog.com/forum/projects/ftdi-2232h-in-mpsse-spi-mode-toil-and-trouble-example-code-needed/ Die nutzen zwar SPI, aber es gibt wohl zumindest Anhaltspunkte das die Libary selber nicht so doll ist. Wobei es mich aber wundert das dies kaum einer nutzt. So ein USB-I2C/SPI Konverter waere ja eine tolle Sache um schnell mal was zu testen. Wenn denn die Libary funktionieren wuerde. > Ich würde Dir empfehlen zuerst einen Beispielcode von FTDI zum Laufen zu > bringen und darauf Applikation aufzubauen. Laden der Libary und aufruf der ersten Funktion aus der Lib ist im Prinzip das einfachste was man dem Beispielcode entnehmen kann. Das zweiteinfachste, das auslesen der Seriennummer aus dem FTDI klappt im uebrigen auch nicht. Genauer gesagt laesst micht das vermuten das die Aufrufkonventionen nicht stimmen weil man jedesmal eine andere Antwort bekommt. Vermutlich interpretiert das der Compiler Stack oder Register falsch. Olaf
Olaf schrieb: > Allerdings kann man im Internet ein paar Leute finden die keine guten > Worte ueber libMPSSE verloren haben Braucht man die denn überhaubt? Ich habe bisher nur was mit MPSSE und JTAG gemacht, das ging aber auch allein mit der ftd2xx lib. Es git zwar auch eine libJTAG, aber die habe ich nie verwendet.
> Braucht man die denn überhaubt?
Naja, es besteht die Hoffnung damit ein einfaches Leben zu haben. :-)
Es geht vermutlich mit mehr Arbeit auch anders. Braucht man FTDI
überhaubt? Das ist ja auch nur ein Microcontroller der einem das Leben
einfacher macht. Könnte man ja auch alles selber programmieren.
Ich hab es im uebrigen gerade mal mit der statischen Library probiert.
Das klappt auch nicht. Obwohl der Linker die libMPSSE.a findet, er
findet die Funktionen darin nicht. Als wenn das System mit dem Format
der Datei nichts anfangen koennte. Dabei ist die Libray angeblich sogar
mit einem gcc 4.6.x erstellt und mein Qt verwendet 4.8.
Olaf
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.