Home Programmering Parallel port programmering - C - program
Parallel port programmering - C - program PDF Skriv ut E-post
Skrevet av Jens Christoffersen   
torsdag 17. september 2009 09:15
Artikkelindeks
Parallel port programmering
LED-panel
C- program
Video
Alle sider

 

Det lille c programmet som liver opp lysene er dette:

 

 

/*
Program for å lyse opp LEDs i en liten krets
Jens Christoffersen
2009
*/

// includes
#include
#include
#include
#include
#include

// definitions
#define base 0x3bc        // parallel port address
#define sleeping 1000000    // time for led to light

main(int argc, char **argv)
{
if (ioperm(base,1,1))    // open the parallel port
fprintf(stderr, "Couldn't get the port at %x\n", base), exit(1);    // error mesg if not open

outb(0, base);            // set all pins to 0 = low

outb(1, base);        // outb = write, 1 = send 1/high to pin 2, base = par port add 3bc
printf ("Pin 2 set to high.\n");    // mesg to screen
usleep(sleeping);    // wait for 1 sec

outb(2, base);
printf ("Pin 3 set to high.\n");
usleep(sleeping);

outb(4, base);
printf ("Pin 4 set to high.\n");
usleep(sleeping);

outb(8, base);
printf ("Pin 5 set to high.\n");
usleep(sleeping);

outb(16, base);
printf ("Pin 6 set to high.\n");
usleep(sleeping);

outb(32, base);
printf ("Pin 7 set to high.\n");
usleep(sleeping);

outb(64, base);
printf ("Pin 8 set to high.\n");
usleep(sleeping);

outb(0, base);            // set all pins to 0 = low
return 0;
}

 

Siden jeg bare hadde en kat 5 kabel tilgjenelig, har jeg utelatt den siste pinnen. Koden for den ville være:

 

outb(128, base);

printf(Pin 9 set to high.\n");

usleep(sleeping);

 

Dette programmet har jeg kompilert med kommandoen:

 

gcc -O light-led.c -o light-led

 

(Jeg har en Ubuntu 9.04 installasjon med build-essentials pakken installert)

 

 



Comments (0)
Write comment
Your Contact Details:
Comment:
[b] [i] [u] [url] [quote] [code] [img]   
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
Sist oppdatert lørdag 30. januar 2010 07:38
 
Kopirett © 2010 nerdegutta.org. Alle rettigheter reservert.
Joomla! er fri programvare utgitt under GNU/GPL License.