Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

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

This is simple routine of sending and reading of byte from 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.

Set up driver according to post: Acces LPT and COM ports easily under windows NT-2000-XP. I have written and compiled example under DEV-CPP tool-set, which you can download from https://www.bloodshed.net/.

Start New console project


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

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.