Hallo. Ich arbeite mit der IAR Workbench 4.21 und will einen FT232BM programmieren. Bei diesem USB-Chip ist eine *.dll, *.h und einen *.lib dabei. Wie kann ich die *.lib einbinden, damit ich die vorimplementierten Funktionen der *.dll nutzen kann? Danke
Ich gehe mal ganz stark davon aus, dass du mit IAR keinen PC programmieren willst. DEmzufolged kannst du auch keine dll in ein Mikrocontroller-Programm einbinden. Dafür ist die .h vorgesehen.
Also, ich habe die dll mithilfe der HeaderDatei eingebunden #include "FTD2XX.h" Allerdings kriege ich jetzt 100 errors, weil er ganz viele Sachen aus der Header Datei nicht kennt. z.B. FTD2XX_API FT_STATUS WINAPI FT_SetBaudRate( FT_HANDLE ftHandle, ULONG BaudRate ); Deshalb dachte ich mir, dass das an der *.lib liegen muss, die ich dann eben noch einbinden will. Vielleicht ist mein Problem jetzt etwas klarer
Die Fehlermedlungen hängen wohl eher damit zusammen, dass IAR gewisse Sachen (z.B. ULONG) nicht kennt. Wo hast du die Dateien her?
Kann es sein, dass FTDI gar keine .h-Datein für die Controller-Seite zur Verfügung stellt, sondern alles an Support (Libraries etc) auf die PC-Seite ausgelegt ist? Würde mich nicht wundern, da das Ding ja mehr oder weniger eine serielle Schnittstelle ist. Konfiguriert wird das Ding über den USB und das EEPROM.
Die Dateien sind direkt vom Chiphersteller, FTDI Ich komme ja eigentlich mehr aus der Softwareentwicklung und nicht direkt aus der Firmwareecke, aber beispielsweise beim VisualStudio kann man so *.dll´s eigentlich ganz easy einbinden. In C# kann man das auch über eine Funktion DLLIMPORT machen. Also sollte das die IAR-Umgebung doch auch können ???
http://www.ftdichip.com/Drivers/D2XX.htm Windows XP Driver 3.01.04 das ist der Treiber, den ich benötige, damit Windows den Chip erkennt. Sprich, ich stecke den Controller an, dann kommt ein PopUp "Neue Hardware gefunden". Und bei diesem Treiber, sind die Dateien dabei
Du willst mit IAR ein Windows-Programm erstellen, oder habe ich dich da falsch verstanden? IAR ist ein reiner Embedded-Compiler, also für verschiedene Mikrocontroller. Mit Windows hat das nix zutun. Mikrocontroller werden in der Regel auch nicht wie betriebssystem-orientiert programmiert - da macht man (fast) alles schön von Hand, weil man selbst für die Verwaltung der Resourcen verantwortlich ist.
Ich hab eine Platine, auf der ist ein USB-Controller drauf. Diesen USB-Controller will ich mit IAR programmieren. Das gute an diesem Controller ist eben, dass Windows in nach Installation des Treibers erkennt. Auf Betriebssystemseite arbeite ich mit LabView um mit dem USB-Port zu kommuniezieren. Aber auf Embedded Seite arbeite ich mit IAR und dem FT232BM. Und für diesen Controller gibt es eine vorgefertigte DLL vom Hersteller, da sind nützliche Funktionen drin wie z.B. SetBaudrate(..), OpenUSBPort(...) ... Und diese Dll will ich nutzen um nicht alles "von Hand" machen zu muessen, wenn es schon was fertiges gibt. Hoffentlich ist es jetzt klarer
Da liegst du falsch. Die dll ist für das PC-Programm. Den FTDI-Chip musst du dir wie eins dieser RS232-USB-Konverter-Kabel vorstellen: auf der einen Seite ist der USB-Stecker, auf der anderen eine RS232. Den USB-Controller kannst du über die USB-Verbindung konfigurieren (SetBaudRate...). DDL sind für Betriebssysteme, nicht für Mikrocontroller (ohne BS). Mit IAR programmiert man den Controller, der in der Reihe hinter dem FTDI steht, also einen AVR, 8051 oder dergl. IAR unterstützt die FTDIs gar nicht. Für IAR ist der FTDI nur ein Baustein, den man über die serielle Schnittstelle anspricht; die eigentliche Funktion des Bausteins ist dem IAR-Compiler sehr egal.
DDL sind für Betriebssysteme, nicht für Mikrocontroller (ohne BS). was soll den der Schwachsinn. Betriebssysteme gibt es auch für Mikrocontroller und ich kann immer noch keine DLL einbinden.
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.