Super Dankeschön :o)
Und [3] damit ist dann der dritte Port gemeint oder?
Zumindest konnte ich auf diese Art und Weise die LEDs auf dem Applicationboard ansprechen *freu*
Wenigstens ein Erfolgerlebnis!
Denn dann wollt ich mal den Status des Tasters abfragen, was mir jedoch irgendwie nicht glückt *grübel*
Mit dem Beispielprogramm Ioblink funktioniert es jedoch, womit dann die richtige Funktion des Tasters bestätigt wurde.
Kann da vielleicht mal wer schauen, wo da der Hacken ist??Hier das vollständige C-Programm:
Code: Select all
#include "stdafx.h"
#include "iowkit.h"
#include <dos.h>
#include <stdio.h>
int main()
{
IOWKIT_HANDLE ioHandle;
IOWKIT40_IO_REPORT report;
ULONG res;
DWORD bits=0;
ioHandle = IowKitOpenDevice(); //Öffnen der Verbindung
if(ioHandle!=NULL)
if(IowKitGetProductId(ioHandle)==IOWKIT_PRODUCT_ID_IOW40)
printf("IO-Warrior 40 gefunden");
else
printf("Irgendein IO-Warrior gefunden");
else
{
printf("IO-Warrior nicht gefunden!");
goto out;
}
printf("%s\n",IowKitVersion());
report.ReportID=0;
//report.Value = 0xFFFFFFFF;
//Setzen der Portbits
report.Bytes[3] = 4;
printf("Setzen des Port 3 mit %d\n", report.Bytes[3]);
res=IowKitWrite(ioHandle, IOW_PIPE_IO_PINS, (PCHAR)&report, IOWKIT40_IO_REPORT_SIZE);
if(res!=IOWKIT40_IO_REPORT_SIZE)
{
printf("Ein Fehler ist aufgetreten! Bitte erneut versuchen!");
goto out;
}
Sleep(2000);
//Zurück-Setzen der Portbits
report.Bytes[3] = 0xFFFFFFFF;
printf("Setzen des Port 3 mit %d", report.Bytes[3]);
res=IowKitWrite(ioHandle, IOW_PIPE_IO_PINS, (PCHAR)&report, IOWKIT40_IO_REPORT_SIZE);
if(res!=IOWKIT40_IO_REPORT_SIZE)
{
printf("Ein Fehler ist aufgetreten! Bitte erneut versuchen!");
goto out;
}
printf("Bitte Taster betätigen!\n");
if(IowKitReadImmediate(ioHandle, &bits))
printf("%s",bits);
IowKitCloseDevice(ioHandle);
out:
Sleep(2000);
return 0;
}