Sample routine of working with LPT1 port under windows XP in CPP language

This is a simple routine of sending and reading a byte from the LPT1 port under Windows XP.

LPT port has four types of pins:

  • 8 output pins accessed via the DATA Port
  • 5 input pins (one inverted) accessed via the STATUS Port
  • 4 output pins (three inverted) accessed via the CONTROL Port
  • The remaining 8 pins are grounded

Now we are interested in Data pins.

I have written and compiled examples under the DEV-CPP tool-set, which you can download from

Start New console project

Create a new CPP file and save it to the project directory. Also, copy porttalk_IOCTL.h and pt_ioctl.c files to project directory. These files you will find in the package

Test program:

Compile this program and run it. You should see results like this:

Now it is time to connect your microcontroller and start experimenting. Good luck.

Test routine project files for DEV-CPP are here: LPT1 Sample Project


  1. Thanks!
    i am just looking for this.Thanks for you sharing

  2. Thank you very much! It was very useful for me!

Leave a Reply