LPT ansteuerung in C
-
Hallo leute
ich versuche mittels dem Giveio Treiber den Drucker port anzustuern und hab folgendes Problem
int giveio(void)
{
OSVERSIONINFO osvi;
int ret = 1;osvi.dwOSVersionInfoSize = sizeof osvi;
GetVersionEx(&osvi);
if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
{
HANDLE h;
h = CreateFileA("\\\.\\giveio", GENERIC_READ, 0, NULL,
OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
if (h == INVALID_HANDLE_VALUE)
ret = 0;
else
CloseHandle(h);
}
return ret;
}giveio();
int a;
for (a=0;a<255;a++)// geht net???// _outp(LPT1,zb.7)geht
_outp(LPT1,a)// geht net ??? //return 0;
}
aber wenn ich jetzt das Programm laufen lass geht es nur wenn ich 1 wert eingebe
wie zum BSP :_outp(LPT1,7);wenn ich es mit ner Forschleife (lauflicht) mache kommt immer der fehler
Syntaxfehler:Es fehlt ';'vor 'Typ'
'a':nichtdeklarierter Bezeichnerich rasste aus was will den der Compiler noch ich seh kein logischen
fehler??????? HHEEEEEEEEEEEEELLLLPPPPP
-
{ int a; giveio(); for..() ... }
verwenden, also int a; und giveio(); tauschen.
-
int giveio(void) { OSVERSIONINFO osvi; int ret = 1; osvi.dwOSVersionInfoSize = sizeof osvi; GetVersionEx(&osvi); if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT) { HANDLE h; h = CreateFileA("\\\\.\\giveio", GENERIC_READ, 0, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); if (h == INVALID_HANDLE_VALUE) ret = 0; else CloseHandle(h); } return ret; } giveio(); int a; for (a=0;a<255;a++)// geht net???// _outp(LPT1,zb.7)geht _outp(LPT1,a)// geht net ??? // return 0; }
so das ganze mal etwas leserlicher gemacht...
womit ich bei dem code überhaupt nicht klarkomme:
da enden 3 } obwohl nur 2 { da sind
kannst du vielleicht alles vollständig posten wo es nicht geht??
-
mein hirn ist heute auch schon gaga
giveio(); int a; for (a=0;a<255;a++) _outp(LPT1,a)
so mal die kommentare entfernt....
eventuell sollte nach _outp() ein ; gesetzt werden?
außerdem werden variablen immer beginn eines blocks deklariert und nicht mitten drin... wir programmieren hier nicht java sondern c *gg*
-
ja das war die lösung dekleration im oberen Teil!!!
Danke leute