Parallel port programming (was Game port programming)

Parallel port programming (was Game port programming)

Post by Randy Thele » Wed, 03 Sep 1997 04:00:00

Quote:> Hi,

> I wouldn't discribe myself as a C programmer, but in the spirit of unix,
> are there any tools for Linux to set and read memory base addresses and
> things like Parallel ports from shell scripts... I'd love to be able to
> flip relays off a parallel port or read status of external devices in
> the same way...

        Well, you do need a driver.  But there is a parallel port driver already
through which you can communicate.  And then the rest can certainly be
written in a high level language.  You can talk to your parallel port
through read/write calls to /dev/lp -- I'm pretty sure.  I'll bet it's not
/dev/lp, but you can find it in your dmesg output or just go to /proc/ and
look at devices.  It has the same interface as a character based file.  That
is, you can't lseek, but you can read and write to the port.  If all you
have is 8 flip relays* off the port, it's trivial to talk to it.  If
you've got more, then you have to dream up some kind of protocol.  For
example, if you have 16, you could have the protocol where the first 8 bits
(the first pulse) drive the first 8, and the second pulse through the port
drive the next 8.  Printers work on a much higher level.  They communicate
streams of data from machine to machine and the data contains the
instructions on what to do.  Mostly they're bit streams, but occassionally
(sp!) there will be instructions for color change, end-of-line (i.e., the
rest of this line is 0 bits, so why send it?), etc.

        Using the port of your machine should be easy and fun!!
        You can actually go to an electronics enthusiasts store (like Radio Shack
in the United States) and buy two bit books which describe how to build a
parallel port LED gizmo.  You could certainly drive that from shell scripts.

        ~> echo "a" > /dev/lp

would turn on a simple bit pattern on the device.

        ~> echo "Hello" > /dev/lp

would turn on a flashing bit pattern on the device.

-- Randy

ps: you're right, "spamhasruinedemail"


1. Parallel Port programming question, was "Serial Port Programming"

All right, it was a unanaimous response to use the parallel port instead of
the serial port to twiddle pins on a IO port.  Anyone have a quick snipit
of code or direction to go.  I have the IOport programming howto which shows
how to set up port to be talked to, but does not explain how to exactly
talk to the port itself.  Any help would be appreciated.
| Andrew F. Nelson      Computer Science                                |

| URL:                           |
| Title:                WWW Administrator / Systems Staff               |
|                       Computer Science and Institute of Technology    |
| "Murphy's Law isn't just a saying, it is a way of life!"              |

2. SCO UNIX Security

3. Game port programming

4. adaptec 1510B

5. games port programming

6. ADSL Restart?

7. parallel port printer and parallel port superdisk

8. Publisher's Edition of Linux

9. Multiple parallel ports/IRQ sharing/non-use of IRQ by parallel ports?

10. parallel port programming for linux?

11. Linux parallel port program

12. Programming Parallel port

13. Parallel port programming: i386 only?