[nmglug] parallel port address
Bob Knight
bob at bobknight.net
Sat Dec 27 20:39:04 PST 2008
You probably don't want to hear this, but it compiles fine here after I
get rid of the newlines inserted by the mail client...
Ubuntu Intrepid, gcc 4.3.2 ubuntuized.
Bob
akaluta wrote:
> Seasons Greetings All;
> The parallel port location found in /proc/ioports/ is 0378-037a
> parportO.
> The pertinent uncooperative program part: "#define base 0x0378"
> /* printer port base address */
> a
>
> I have tried inputting various address permutations i.e 0x378 ,0378 ,
> 0378-037a I get varying error messages: cannot locate 378 ,alternately
> "invalid digit 8 in octal constant"
>
> program quoted:
> "/*
> * Simple parallel port output control program for Linux
> * Written and copyright by Tomi Engdahl 1998
> * (e-mail: tomi.engdahl at hut.fi)
> *
> * The program output the data value to PC parallel port data pins
> * (default lpt1 I/O address 0x378). The data values are given as the
> * command line parameter to the program. The number can be
> * in decimal (0..255) or hexadecimal format (0x00..0xFF).
> *
> */
>
> #include <stdio.h>
> #include <stdlib.h>
> #include <unistd.h>
> #include <sys/io.h>
>
> #define base 0x0378 /* printer port base address */
>
> main(int argc, char **argv)
> {
> int value;
>
> if (argc!=2)
> fprintf(stderr, "Error: Wrong number of arguments. This program
> needs one argument which is number between 0 and 255.\n"), exit(1);
> if (sscanf(argv[1],"%i",&value)!=1)
> fprintf(stderr, "Error: Parameter is not a number.\n"), exit(1);
> if ((value<0) || (value>255))
> fprintf(stderr, "Error: Invalid numeric value. The parameter number
> must be between 0 and 255\n"), exit(1);
> if (ioperm(base,1,1))
> fprintf(stderr, "Error: Couldn't get the port at %x\n", base),
> exit(1);
>
> outb((unsigned char)value, base);
> }" end quote.
>
>
> Any insights,provided to the greenhorn,are appreciated.
> Best Regards,Anthony K
>
>
> _______________________________________________
> nmglug mailing list
> nmglug at nmglug.org
> https://nmglug.org/mailman/listinfo/nmglug
>
More information about the nmglug
mailing list