Advanced  Services Ansteuern einer USB-Schnittstellenkarte in C/C++ mit Visual Studio Back Next Up Home


Ansteuern einer USB-Schnittstellenkarte über C/C++ mit Visual Studio
am Beispiel des USB Experiment Interface Board K8055 von Velleman


Hardware: Das Board mit USB-Kabel

Siehe etwa USB Experiment Interface Board


Software

Alle vier Dateien sind hier erhältlich.


Anleitung zum Ansteuern der Schnittstellenkarte mit Visual Studio

Anlegen eines externen Verzeichnisses, auf das ein Visual Studio Projekt zugreift

Wir legen auf C: ein Verzeichnis etwa mit dem Namen k8055 an. Der Name ist natürlich beliebig, er darf aber keine Leerzeichen enthalten. In dieses Verzeichnis legen wir die obigen vier Dateien. Falls Sie einen anderen Pfad wählen, müüssen Sie im folgenden den Pfadnamen entsprechend anpassen


Anlegen eines klassischen C/C++ Konsolprojekts mit Visual Studio

Das Feature "vorkompilierte Header-Dateien" ausschalten und die entsprechenden Dateien, die trotzdem erzeugt werden von Hand löschen.

Die CPP-Datei, die _tmain enthält auf die folgende klassische Form bringen:

      #include <stdio.h>
      #include "K8055D_C.h"

      int main(int argc, char* argv[])
      {
         ///
      }

Projekteinstellung vornehmen

Compilereinstellung

Wir gehen über den Menupunkt Projekt: Projekt -> Projekteigenschaften -> Konfigurationseigenschaften -> C/C++ -> Allgemein

Hier wird das oben erstellte Verzeichnis als zusätzliches Includeverzeichnis eingetragen:

C:\k8055

notwendige-einstellungen-01.jpg


Linkereinstellung

Unter Befehlszeile -> Zusätzliche Optionen die oben erwähnte Bibliothek eintragen:

C:\k8055\K8055D_C.lib

notwendige-einstellungen-02.jpg


Fehler in der Headerdatei K8055D_C.h korrigieren

In der Headerdatei K8055D_C.h mit Hilfe von Suchen und Ersetzen VOID durch void ersetzen !!


K8055D_C.DLL an die richtige Stelle legen

Die Datei K8055D_C.DLL ins Debug-Verzeichnis des aktuellen Projekts legen. Hat man mehrere Projekte, die diese Datei benötigen empfiehlt es sich, sie in das Verzeichnis C:\WINDOWS\system32 von Windows zu legen. Dann wird sie immer gefunden.


Testprogramm schreiben

Mit der Funktion OpenDevice() (siehe Manual) einen Verbindungsaufbau versuchen:

#include <stdio.h>
#include "K8055D_C.h"

int main(int argc, char* argv[])
{
   printf("verbindungsaufbau zu k8055\n");

   int cardAdress;
   long retValue;

   for(cardAdress=0 ; cardAdress<4; cardAdress++)
   {
      retValue = OpenDevice(cardAdress);  // Open the device
      switch(retValue)
      {
         case 0:
         case 1:
         case 2:
         case 3: printf("verbunden mit addresse %d\n", retValue);
               break;
         default: printf("connection failed\n");
      }
   }
   return 0;
}

Anschließen der Karte über USB und das Programm starten.

Valid XHTML 1.0 Transitional top Back Next Up Home