mikrocontroller.net

Forum: PC-Programmierung FTDI (FTD2232H) über I2C ansteuern.


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Toni (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche das Sample Programm von

https://www.ftdichip.com/Support/SoftwareExamples/MPSSE.htm  --> 
Abschnitt: USB to I2C

über mingw zum laufen zu kriegen. Ich vefolge die Anleitung, die in dem 
Zip-File enthalten ist.

Wenn ich nun die b.bat Datei ausführe und ich die sample-dynamic.exe 
ausführe, sagt mit das System folgendes.

Failed loading libMPSSE.dll. Please check if the file exists in the 
working directory
sample-dynamic.c:255:main(): NULL expression            encountered

Es ist mingw 4.5.x installiert und die D2XXX Treiber sind auch 
installiert.


Ich hoffe ihr könnt mir helfen.

Viele Grüße
Toni

PS: Im Anhang habe ich

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

Bewertung
0 lesenswert
nicht lesenswert
In Deinem Zip-Archiv ist nur eine 32-Bit-Version der DLL. Deinen 
Compiler hast Du so eingestellt, daß er ein 32-Bit-Programm erzeugt?

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ja ich baue das Programm mit x86.

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
besser gesagt ich füge der b.bat folgenden Tag hinzu

gcc -m32

um mit 32bit zu kompilieren.

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

Bewertung
0 lesenswert
nicht lesenswert
Und Du hast die DLL aus dem Archiv auch irgendwo hinkopiert?

Die Fehlermeldung, die Du da zitierst, besagt, daß die DLL nicht 
gefunden würde:

> Failed loading libMPSSE.dll. Please check if the file exists in the working 
directory

Und sie schlägt sogar vor, wo Du nachsehen sollst.

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja die libMPSSE.dll befindet sich in der working directory. Die b.bat 
kopiert sämtliche files in den Ordner I2C (Working directory) und baut 
dort auch die .exe (sample-dynamic.exe und/oder sample-static.exe)

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

Bewertung
0 lesenswert
nicht lesenswert
Ändere folgenden Code
#ifdef _WIN32
  #ifdef _MSC_VER
    h_libMPSSE = LoadLibrary(L"libMPSSE.dll");
  #else
    h_libMPSSE = LoadLibrary("libMPSSE.dll");
  #endif
  if(NULL == h_libMPSSE)
  {
    printf("Failed loading libMPSSE.dll. Please check if the file exists in\
 the working directory\n");
  }

hierin die printf-Anweisung wie folgt:
  printf("Failed loading libMPSSE.dll. Please check if the file exists in\
 the working directory (%d)\n", GetLastError());


Interessant ist hier der Fehlercode.

: Bearbeitet durch Moderator
Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe es mal auf einer Windows 10 Maschine getestet. Funktioniert 
problemlos.

FTDI habe ich auch schon angeschrieben. Der Support hat eine neue 
library bereitgestellt.

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.

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