hallo
der asm befehl (asembler) ist der "treiber" damit der kompiler weiß was der outp befehl soll
bekommst du eine fehler meldung?
du must ihn oben definieren mit #define LPT 0x378Code:#include <stdio.h> #include <conio.h> #include <windows.h> #include <time.h> #include <dos.h> #define LPT 0x378 //============================================== void outp (unsigned int portadr, unsigned char value) { _asm mov edx,portadr _asm mov al, value _asm out dx,al } //============================================== int main(int i) { for(i=1;i<=10;i++) { outp(0x378,256); printf("D0..D7=1\n"); wait(10); outp(0x378,256); printf("D0...D7=0\n"); wait(10); } } wait(int sekunden) { clock_t start; sekunden *= CLOCKS_PER_SEC; start = clock(); while(clock()<start+sekunden); }
den die lptschnittstele hat 3 register das statusregister, das steuerregister und die datenleitung. mit #define LPT 0x378 sagst du in das er die schnittstelle 0x378 benutzen soll, wenn du noch andere hast gibst noch andere andressen.
im outp befehl sagst du ihn dann welches register er benutzen soll
outp(0x378,0);
outp(0x379,0);
outp(0x37a,0);
hier werden alle 3 auf null gesetzt
pass aber auf dein motherbord auf, wenn du da was anschließt







Zitieren

Lesezeichen