Showing results for 
Search instead for 
Did you mean: 

How to send a signal to parallel port

I have to send a signal (wave or pulse) through 8 databits over my parallel port to an external device. The parallel port is only used as output not as input as well.

I already checked the examples in labview, but in that example you can only set single pins of the parallel port. But I want to send a signal, for example a pulse of 0.6 V for 0.02ms to the device.

I also want to be flexible – so I can send +0.6V for 0.02ms now and later maybe -0.4V for 0.05ms and so on. I do not want to set every single pin, but just give the amplitude and duration of the pulse.

I read something about doing this using VISA, but my pins 11 and 12 are not grounded on my device, which seems to be necessary for that.

How can I do this anyway?


Thank you very much!

0 Kudos
Message 1 of 5

The parallel port is a digital port, so you can NOT generate any voltage you want. Every single line can be set to logic HIGH (TTL level is between 3.3 and 5 Volts) or logic LOW (TTL level is between 0.0 and 0.35 Volts), and to nothing else.

So you can NOT use the lines of the parallel port to generate the voltage-levels you need.


I would recomend to use a DAQ device for that. You can by USB devices at National Instruments that can fullfill your needs without any problems. The USB-6008 would be enough for your needs, and is an inexpensive solution:

0 Kudos
Message 2 of 5
thanks for that advice!
I know though that the parallel-port is a digital port. I have a DAC (digital to analog converter) and some other ICs on my board.
So I need to send the Voltage as a 8bit digital value - but how?
The other porblem is, that I need to guarantee real time - do I need any special devices for that as well?

0 Kudos
Message 3 of 5
OK. Now I see more clearly what you want to do. What you could try is use visa. Configure your parallel port to a baud-rate that helps you create your timing, for example a baud rate of 9600 would result in the possibilty to set a new value at the parallel port every 0.1 ms (roundabout). Now you would have to find the ASCII-Code that represents your pattern on the 8 lines (which lines should be high, which low). If you send this ASCII for lets say 100 times, it would result in  a 10 ms long pattern on the parallel port.
But as you see, this is really complicated, and I´am not sure if this would really work. In my opinion, it is better to spend some money for aprpriate hardware,a nd save a LOT of time.
0 Kudos
Message 4 of 5
uhhh that doen´t sound too good...
So is this not possible using or something similar?

0 Kudos
Message 5 of 5