ich habe das Keith & Koep Spark kit, was aus dem Trizeps IV , uConXS Boad,
Windows Embedded CE 6.0 R2 und Visual Studio Professional 2005 besteht.
Auf diesem Board wollte ich gerne einen GPIO gesteuerten Interrupt einsetzen
und habe die dafür vorgesehenen Beispielprogramme von dem Hersteller benutzt.
Leider funktioniert das Programm "IRQ_Samples" nicht richtig.
Bei der Funktion "InterruptInitialize" schmeißt er mich quasie aus dem
Programm, weil das Programm nur weiterläuft, wenn diese Funktion
funktioniert.
Leider kann ich so keinen Interrupt an einem GPIO ausprobieren.
Bitte um Hilfe bzw Bitte melden wer das Problem kennt und vielleicht behoben
hat.
Bitte auch melden bei wem es funktioniert hat.
Danke im Vorraus!!!
Julia
Wenn ich das Wort Interrupt höre denke ich sofort an einen Kernel
Treiber auch die Funktion InterruptInitialize ist nur für Kernel
Treiber. Die legen in der Regel als sogenannte Stream Treiber vor
und werden über die Registry zum Starten eingebunden. Vom Usermode
kann man sie mit DeviceIoControl, ReadFile, WriteFile erreichen.
Bist Du sicher das Du einen Treiber hast oder ein normales Usermode
Program ?
Für GPIO existiert ja dieser Sample:
#include "windows.h"
#define CPLUSPLUS 1
#include "drvlib_app.h"
int WINAPI WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
PGIO_REGS ptr;
unsigned long arg_l = 0;
BOOL state;
arg_l=_wtol(lpCmdLine);
ptr = GPIO_AllocSpace();
state = GPIO_Get_Pin( ptr, (unsigned char)arg_l);
GPIO_Init_Pin(ptr, (unsigned char)arg_l, TRUE, !state);
Sleep(3000);
GPIO_Set_Pin( ptr, (unsigned char) arg_l, state);
GPIO_FreeSpace();
return 0;
}
elli
Julia wrote:
--