#include int port; /* default port - standardni printerski izhod */ unsigned char i; void main(void) { port = portx("/lpt1"); for (;;) { for (i=0;i<=255;i++) { outportb(port,i); delay(100); if (kbhit()) exit(); } } } /**************************************************************************** * * UGOTOVI NASLOV CENTRONICS PRINTERSKEGA PORTA * * Ce naslov za zahtevan port ni podan v tabeli BIOS-a, potem vzame default ! * ****************************************************************************/ int portx (char *ime_porta) { int naslov; /* Naslov porta */ int kateri_port; /* Stevilka porta */ strlwr (ime_porta); kateri_port = ime_porta[4]-'0'; /* Stevilka porta */ if (!(strncmp(ime_porta,"/lpt",4) == 0) || ( (kateri_port > 4) || (kateri_port < 1))) { puts ("Napacen izhodni port !\n"); exit (1); } naslov = peek (0,0x408+2*(kateri_port-1)); if (naslov == 0) { naslov = peek (0,0x408); /* Naslov LPT1 */ if ((kateri_port > 1) && (naslov != 0)) printf ("Delam s paralelnim izhodom LPT1 (LPT%d ne obstaja) !\n" ,kateri_port); } if (naslov == 0) { naslov = 0x378; /* Vzame default */ puts ("Delam z default printerskim izhodom !"); } return naslov; }