Parallel Port User Control

C#.Net Introduction A simple User Control developed in C#.Net used to control the Parallel Port. The following tasks can be performed using it:-
  • Send data to Data Pins.
  • Receive data from Data Pins.
  • Send data to Control Pins.
  • Receive data from Control Pins.
  • Read current status of Status Pins.
  • Implement Synchronous and Asynchronous Loops.
  • Implement UP, DOWN and UP-DOWN Counters.
The below image shows the "HOME" of my User Control. Using this page, you can send or receive data from the DATA and the CONTROL registers of the Parallel Port. You can also check the current status of the STATUS Port. The below image shows the "Loops" Page of my User Control. You can use this page to implement synchronous loops of desired time delay on the Parallel Port. The below image shows the "Loops" Page of my User Control. You can use this page to implement asynchronous loops of desired time delay on the Parallel Port. The below image shows the "Counters" Page of my User Control. You can use this page to implement binary counters (Up, Down, Up-Down) with desired time delay on the Parallel Port. Background I have used inpout32.dll for controlling parallel port. Using INPOUT32 I have made my own user control to control the Parallel Port in C#.Net. In my user control I have defined a class named "ParallelPort", in which all the methods and the properties discussed below are defined. Using the code Before using the code copy "ParallelPort.dll" to :-
  • "system32" folder if using XP ;
  • "winnt" folder if using Windows 2000 ;
  • "win98" folder if using Win98;
To use my Parallel Port User Control follow the steps written below:-
  1. Make a "New Project" in Visual Studio. You use any language like C#, VB, J#, C++ etc.
  2. Goto "Project" Menu, and click "Add Reference...".
  3. In the "Add Reference" window, click the "Browse" tab and find "Jaspreets Parallel Port Control.dll" in the source code provided and then click "Ok".
  4. Goto "Tools" Menu, and click "Choose ToolBox Items...".
  5. In the "Choose ToolBox Items" window, find "ParallelPort" and click "Ok".
  6. Now, you will see my user control in your toolbox. Drag n Drop it to the window form.
  7. Press F5 to run the project.
But in case if you to use a different user interface then you can design your own interface and use the following methods and properties of "ParallelPort" class to control the Parallel Port:- /***C#.NET CODE****/ /* Create a new instance of ParallelPort class. */ ParallelPort PaPort = new ParallelPort(); /* To set the Parallel Port address. 888 is decimal equivalent of 0x0378h. */ PaPort.PortAddress = 888; PaPort.D0 = true; //To set D0 (Pin no. 2) PaPort.D0 = false; //To reset D0 (Pin no. 2) PaPort.D1 = true; //To set D1 (Pin no. 3) PaPort.D1 = false; //To reset D1 (Pin no. 3) PaPort.D2 = true; //To set D2 (Pin no. 4) PaPort.D2 = false; //To reset D2 (Pin no. 4) PaPort.D3 = true; //To set D3 (Pin no. 5) PaPort.D3 = false; //To reset D3 (Pin no. 5) PaPort.D4 = true; //To set D4 (Pin no. 6) PaPort.D4 = false; //To reset D4 (Pin no. 6) PaPort.D5 = true; //To set D5 (Pin no. 7) PaPort.D5 = false; //To reset D5 (Pin no. 7) PaPort.D6 = true; //To set D6 (Pin no. 8) PaPort.D6 = false; //To reset D6 (Pin no. 8) PaPort.D7 = true; //To set D7 (Pin no. 9) PaPort.D7 = false; //To reset D7 (Pin no. 9) PaPort.C0 = true; //To set C0 (Pin no. 1) PaPort.C0 = false; //To reset C0 (Pin no. 1) PaPort.C1 = true; //To set C1 (Pin no. 14) PaPort.C1 = false; //To reset C1 (Pin no. 14) PaPort.C2 = true; //To set C2 (Pin no. 16) PaPort.C2 = false; //To reset C2 (Pin no. 16) PaPort.C3 = true; //To set C3 (Pin no. 17) PaPort.C3 = false; //To reset C3 (Pin no. 17) /* Returns true if input at S3 (Pin no. 10) is HIGH, else returns false. */ bool b = PaPort.S3; /* Returns true if input at S4 (Pin no. 11) is HIGH, else returns false. */ bool b = PaPort.S4; /* Returns true if input at S5 (Pin no. 12) is HIGH, else returns false. */ bool b = PaPort.S5; /* Returns true if input at S6 (Pin no. 13) is HIGH, else returns false. */ bool b = PaPort.S6; /* Returns true if input at S7 (Pin no. 15) is HIGH, else returns false. */ bool b = PaPort.S7; /* Returns the current status of all the Data Pins as an integer whose bits give the current status of each Data Pin (D0 to D7) with D0 being the LSB and D7 being the MSB. */ PaPort.ReadFromDataBus(); /* Writes 123(or any other integer as provided in argument) to Data Pins. */ PaPort.WriteToDataBus(123); PaPort.SetDataBus() //Sets all Data Pins. PaPort.ResetDataBus() //Resets all Data Pins. /* Checks the current status of the Status Pins and assign value to S3-S7 accordingly. */ PaPort.UpdateStatusBus(); /* Returns the current status of all the Status Pins (including the HIDDEN ones also) as an integer whose bits give the current status of each Status Pin (S0 to S7) with S0 being the LSB and S7 being the MSB. */ PaPort.ReadFromStatusBus() ; /* Returns the current status of all the Control Pins (including the HIDDEN ones also) as an integer whose bits give the current status of each Control Pin (C0 to C7) with C0 being the LSB and C7 being the MSB. */ PaPort.ReadFromControlBus() ; /* Writes 135(or any other integer as provided in argument) to Control Pins. */ PaPort.WriteToControlBus(135) ; PaPort.SetControlBus() //Sets all Control Pins. PaPort.ResetControlBus() //Resets all Control Pins. /* Loops from Pin D0 to Pin D7, setting the desired pin HIGH and all other LOW after a duration of 1000ms or 1sec. */ PaPort.StartSynchronousLoop(ParallelPort.Pin.D0, ParallelPort.Pin.D7, 1000, true); /* Loops from Pin D0 to Pin D7, setting the desired pin LOW and all other HIGH after a duration of 1000ms or 1sec. */ PaPort.StartSynchronousLoop(ParallelPort.Pin.D0, ParallelPort.Pin.D7, 1000, false); /* Loops through the pins specified by array LoopPins, setting the desired pin HIGH and all other LOW after a duration of 1000ms or 1sec. */ ParallelPort.Pin[] LoopPins = new ParallelPort.Pin[] { ParallelPort.Pin.C1, ParallelPort.Pin.D0, ParallelPort.Pin.D3, ParallelPort.Pin.C2, ParallelPort.Pin.D1, ParallelPort.Pin.D7, ParallelPort.Pin.C1, ParallelPort.Pin.D5 }; PaPort.StartAsynchronousLoop(LoopPins, 1000, true); /* Loops through the pins specified by array LoopPins, setting the desired pin LOW and all other HIGH after a duration of 1000ms or 1sec. */ ParallelPort.Pin[] LoopPins = new ParallelPort.Pin[] { ParallelPort.Pin.C1, ParallelPort.Pin.D0, ParallelPort.Pin.D3, ParallelPort.Pin.C2, ParallelPort.Pin.D1, ParallelPort.Pin.D7, ParallelPort.Pin.C1, ParallelPort.Pin.D5 }; PaPort.StartAsynchronousLoop(LoopPins, 1000, false); PaPort.EndLoop(); //Stops all running LOOPs. /* Counts uptill 12 bits from 0 to 4096. */ PaPort.StartCounter(ParallelPort.CountBits._12, ParallelPort.CounterType.UPCounter,1000); PaPort.EndCounter(); //Stops all running COUNTERs. /* Returns true if Parallel Port is busy implementing LOOP or COUNTER Operation. */ PaPort.IsBusy; /* Resets all Data and Control Pins. Stops all running LOOPs and COUNTERs. */ PaPort.ResetAll(); EXE and Source Code Downloads
  1. Download and install Microsoft .NET Framework Version 2.0.
  2. Now download and install My Parallel Port Control Setup.
  3. Download C#.Net source code.

83 comments:

Unknown said...

You nowere hawe class for download.I wont make Rc car to work via pc on parallel port.Can you make only Class for download, i work in C#.

Unknown said...

Where is your class Parallel Port man, did you hide her somwere ?
Make it for download !?

Jaspreet Singh said...

@Aleksandar
Parallel Port Class is present in the code for "user control", download link for which is provided at the end of the article.

Black Hawk said...

hello,

when data bits are doing all work, if sent 1 they become hight, when sent 0 they become low, then why to use status bits??? i cant understand and i want to implement it widout making it complex, i mean just by using databits, can it be done?

Jaspreet Singh said...

Status bits are input bits. We can't send data to Status Bits. But DATA BITS can be used as Output or Input Bits(if port is bi-directional). So, its up to ones choice and as per requirement that status bits are required or not. If we want to send and receive data at same instant then we will require data pins as output pins and status pins will be used to read data. Otherwise, generally DATA PINS are required.

Black Hawk said...

how that circuit is possible,
that ic takes input of 5v where as the voltage that comes out of datapins as default is 0.8v, how all that game become possible, i made dat cicuit but it doesnt work, neither it can because datapin voltage is 0.8v.

Jaspreet Singh said...

The voltage that comes out of data
pins as default is not 0.8v. It is nearly 3.4v.

Rogelio said...

I connected each data pin to a switch that is connected to a gnd pin to detect five different inputs. However, I need more inputs! How can I use the control pins, the same way that I am doing with the data pins, to receive inputs. I am using inp(889) to read the input in VB. Hope you can help me. Thanks!

Jaspreet Singh said...

Reading Data Pins:-

Set bit C5 of control bus to 1.
This will make data port behave as an input port.
Now use inp(888) to read data.
To make data port behave as output port, set C5 back to 0.

Reading Status Pins:-

Use inp(889) to read data.
But as some status pins are inverted so data read from that pins will also be inverted, i.e, if data read from an inverted pin is 0 then the actual data present externally is 1.

Reading Control Pins:-

Use inp(890) to read data.

Unknown said...

hi my name is harsha i have downloaded ur code so it helped me so much cause i working on parallel port interfacing but i dont know C# language so can u help me in 1 query that is i need to send status bits also but i tried so much but i am not getting how. can u help me regarding this ? pls

Jaspreet Singh said...

hi harsha..
status pins are readonly.
we cannot send data to status pins through software.
status pins can be made high or low only using external hardware.
try one thing...
connect any ground pin (18-25) to one of the status pins and then check the status of that pin.

harsha said...

hi thank u so much for replying for my query and i ll try it once ....

harsha said...

hi this is harsha.i want to know that can v send status bits? i mean in general is it possible to send status bits or its only read only. pls reply thank u

Jaspreet Singh said...

status pins are read only....
these are used only to detect external signals sent to the port by external circuitry...

harsha said...

hi thank u for replying ....

richard said...

gud day jas.. im a student and i need to know more about parallel port and led matrix.. my project this sem is scrolling led matrix and i hav a hardtime just to lit up a single letter on the led matrix.. ex: if i want to lit up 2 leds but different rows and columns, i come up with a total of 4 leds to light up..note: i use 4017 johnson counter and parallel port as my controller.. im very grateful to you help me.. thanks..

Jaspreet Singh said...

hi richard...
this link will surely help...
http://www.jbprojects.net/projects/led/

harsha said...

hi this is harsha. my CEO told that v can write the status bits also is tht correct? v can read as well as write the status bits. actually i am working on parallel port interfacing in which i need to send data bits control bits and status bits is it possible? it will be very helpfull to me thank u. pls do reply...

Jaspreet Singh said...

hi harsha...
ur CEO is right, we can send status bits....
but only through external circuit....
software cannot send data to status pins...
also their is no need to send data to status pins as we already have 8 data pins and 4 control pins to send data....

harsha said...

hi thnx for the reply. and my CEO told if v send more bits it ll be better.because v r working on ventilator project in that this is small part of it. so he wants to send status bits too. so as u said its cannot be sent through software. in my project i have to send 7data bits and 3control bits and 5status bits so my doubt is can i send this 5status bits as external? thank u harsha

Jaspreet Singh said...

hi harsha...
if u want more bits as output from parallel port than u can use IC 74LS154 to make 16, 32 and even more bits if u want from just 8 data bits...
as far as status bits are concerned these are read only....
external circuit is connected to status pins, and we can only read the current status of that circuit...
status will change only when the external circuit send 0v or 5v to the status pins...

Adedayo 'Kayode said...

hi Jas.i've had a filled time checking all the info on your blog. my name is kay.i'm still a newbie in electronics & i have an electronics project to submit by january. it involves controlling 8 electrical appliances using the uln2803 ic with the parallel port.

can you please help me with the circuit diagram? my email is jhat_don@yahoo.com

Jaspreet Singh said...

Hi Kay,
the circuit diagram u r looking for is here:-

http://jaspreetscodezone.blogspot.com/2008/01/interfacing-relays-using-parallel-port.html

its pretty easy to understand but still if u r having any problem i will surely help u solving it.

vijumohan said...

Hi Jaspreet

Dou have sample code for status port reading using c for parallel port.....???
am a newbie to this field...

Thnx in advance.....

vijumohan said...

my id is...
vijunambiar@gmail.com

Adedayo 'Kayode said...

hi Jas. thanks for the link. my challenge now is that I am using vero board for this project with 220 mains voltage. Pls,is it safe or dangerous?

Jaspreet Singh said...

Hi Kay,
In my opinion vero board will be alright with 220 mains voltage.
Use good wires for 220 mains and ckt should be tested fully before applying 220 volts.

Adedayo 'Kayode said...

hi Jas, thanks for your help so far. how will I test the circuit before applying the 220v supply?

Jaspreet Singh said...

Hi Kay,
Test the circuit for continuity using multimeter...
and their is no need of applying 220v for testing...
just trigger the relay ON and OFF and check the continuity between the NO and NC pins...

Adedayo 'Kayode said...

hi Jas.
i connected my circuit to the system today. before i plugged it to the ac mains, i was hearing sounds from my circuit like mouse clicks. when i plugged it to ac mains, my relay blew up. pls, what do you think caused it? thanks

Adedayo 'Kayode said...

hi Jas, happy new year. i've rewired my circuit and now i'm able to control 7 bulbs from my system. the first bulb that is controlled by D0 is not coming on. i checked the voltage coming directly from D0 pin on my veroboard and it was 0.13v when others were around 4.79v. Pls, what do u think is wrong with it. is it the cable, code or the parallel port on my system.

thanks

Jaspreet Singh said...

Hi Kay,
Voltage can drop if we use a long wire or a high resistance wire...
Try Using thin and low resistance wires...

Anonymous said...

Hi Jasp,
Thank you very much for such wonderful blog, I'm very interested in interfacing, so I designed my own VB code it worked on the desktop, but when I set it up on my IBM laptop I can only read 1 (5volt) out from the data pins, I downloaded parallel port controler software from the internet and still the same problem. Now I'm downloading your code hopfuly it will work with me.

But what do you think the problem is? is it the parallel port configuration in the laptop ? kindly help me ,...

Jaspreet Singh said...

Data Pins are by default HIGH (or 1) when the computer is turned ON.
So, if the data pins always give out 1, it means that we are not able to access the parallel port.
The problem might be the address of the parallel port that is being used.

To find out the address of the parallel port on your computer follow the steps written below:-
1. Open Device Manager.
2. Go to Ports (COM & LPT).
3. Double click ECP Printer Port (LPT1).
4. A new window will pop up.
5. Click Resources tab.
6. Now see the I/O Range. Mine is 0378–037F.
7. Here 0378 is the address of the Parallel Port.

Anonymous said...

Thank you Jasptreet,
I did what you said and my parallel port address was 03bc-03bf, So I converted from Hex to Dec it was 956-958 ... However, when I first send data to address 956 didn't work, so I tried 958 It worked but then from the second trial and on I had to send to 956 cause 958 dosnt work anymore. So I have to do the same thing every time I off my laptop, start with 958 and then change to 956 .. isn't that weird !!!
Another thing, your parallel port control software didn't work also with me .. may you help to know why?

Thanks once again
Sadoon

Jaspreet Singh said...

@Sadoon
My Parallel Port Control software works with in-built PARALLEL PORTs only. It won't work with external Parallel Ports Cards or with USB to parallel convertors.

Anonymous said...

My parallel port is not external, Its built-in. when click on your software all the pins get 1high (5 volt) then after that, when I click on any buttons like setall or reset all it doesn't work any more.
Thank you
Sadoon

Jaspreet Singh said...

@Sadoon
If your parallel port is built-in and the software still doesn't works then surely the port address is the main problem.
My software must be communicating with the starting address 03bc(or 956) on your laptop. But as you said your parallel port's address is not remaining the same when laptop is turned off.
Check your parallel port configuration carefully.
Check your laptop's BIOS for parallel port configuration.

jayant sharma said...

jaspreet i m doing a project and need ur help man do contact me this is my email id
jayant_sharma123@yahoo.com

jayant sharma said...

i need to control the voltage as shown in ur video i also downloaded ur software but it didnt do nything on my pc
moreover i need to change the voltage as u did of my "RS232" 9 pin port
how to do pzz help me
jayant_sharma123@yahoo.com

dr said...

how to make interface by using usb port? coz nowadays laptop doesnt have have parallel port.

Jaspreet Singh said...

For USB port we need a microcontroller like PIC.

View this page:- http://eegeek.net/content/view/13/32/

Anonymous said...

Hi mister Jaspreet, i visited this site about USB interfacing. http://eegeek.net/content/view/13/32/
But it so hard for me to understand. I want to know on how to control LED using USB port like in that parallel port but the the difference is I need to use USB port. Thanks a lot. your blog site help me a lot.

Sergio said...

Hi Jaspreet,

Thanks for your helpful introduction to parallel ports. I installed a Sunix PCI to parallel card on my computer, and installed the attached driver. However, when running some software, it says parllio is missing (it is not!) (error 48) and it fails to communicate with the port. What could I do?

Jaspreet Singh said...

@Sergio

Generally all Parallel Port related softwares work with the in-built PARALLEL PORTs only. They won't work with external Parallel Ports Cards or with USB to parallel convertors.

sergio said...

Ok, but shouldn't there be a way to overcome this? otherwise, why would they sell to me this PCI-parallel card?On matlab for example
out = daqhwinfo('parallel') gives me a result, but digitalio('parallel','LPT3') just gives me an error

Jaspreet Singh said...

@Sergio

For external Parallel Port cards we must have right drivers first...

Visit the below given site for more infomation...

http://www.jungo.com/st/windriver_windows.html

Anonymous said...

hello jaspreet,

I am complete newbie in c#..so I would like you to give a sample of simple code for operate 1 pin only..I would understand coding that way..1 input and 1 output..Please..thanks

karan said...

hello jaspreet

im a student in africa jst writing to thank u for ur software on the parrallel port controler it was a big help to me on my project...
i wanted to know if there is any way to incorporat a timer with each output to controle how long to maintain a high and/or low output what times to triger a high and/or low output during the day and what days to trigger it during the week.

Jaspreet Singh said...

@Karan

Use Windows task schedular to trigger a high or low output during the day/week.

Unknown said...

Do you have a circuit board diagram to drive a stepper motor by inter facing them to parallel port i am a mechanical engineer you can help me

Unknown said...

i want to make CNC machine i just need a circuit board to complete my project

Jaspreet Singh said...

@Riasat

Connect the 4 coils of the stepper motor to the 4 output pins of the ULN2803 IC (pins 15, 16, 17, 18).

See the circuit diagram for the Relay. All the connections for the stepper motor are same except 3 additional outputs for the motor.

http://jaspreetscodezone.blogspot.com/2008/01/interfacing-relays-using-parallel-port.html

Unknown said...

thanks

Anonymous said...

Hi Jaspreet,
Is it possible to count pulses individually on port 2 to 9.
I would like to test a CNC Mach 3 output at the Parallel Port to see th pulse count I am getting vs what I programmed.
I use VB 6, however it does not seem to count fast enough.
I do not have the version of Visual Studio you are using.
Can you help with a program.
Regards,
Mauri

Jaspreet Singh said...

Hi Mauri,

It is possible to count pulses individually on port 2 to 9.

My program will run in Visual Studio only.

But you can try and use the "Parallel Port USER CONTROL" in your program and modify its working accordingly.

Anonymous said...

Hi Jaspreet,
I managed to find Visual Studio C# 2005 Express Edition but not C#.NET not sure if it is the same thing or not?
I installed the program into C# 2005 and added Jaspreets Parallel Port Control and also ticked it under Tools ParallelPort.DLL.
I then Ran Build and came up with no errors, however when I Ran it came up with this error?
The Jaspreets Parallel Port Control is visable under the Rferences?
(Argument exception was unhandled)
System.ArgumentException was unhandled
Message="Assembly 'C:\\Documents and Settings\\Administrator\\My Documents\\A\\Jaspreets Parallel Port Control (C#%20Source%20Code)%5CJaspreets%20Parallel%20Port%20Control%5Cobj%5CDebug%5CJaspreets%20Parallel%20Port%20Control.dll' could not be found. Ensure the path is correct."
Source="UserControlTestContainer"
StackTrace:
at Microsoft.VisualStudio.Tools.UserControlTestContainer.UserControlTestContainer_Load(Object sender, EventArgs e)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
at System.Windows.Forms.SafeNativeMethods.ShowWindow(HandleRef hWnd, Int32 nCmdShow)
at System.Windows.Forms.Control.SetVisibleCore(Boolean value)
at System.Windows.Forms.Form.SetVisibleCore(Boolean value)
at System.Windows.Forms.Control.set_Visible(Boolean value)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
at System.Windows.Forms.Application.Run(Form mainForm)
at Microsoft.VisualStudio.Tools.UserControlTestContainer.Main(String[] args)
Any Idea, I do not program in the language, however I need to change the code to be able to count Port Pins 2 to 9 when I run another program.
Regards,
Mauri

Jaspreet Singh said...

@Mauri

Copy "ParallelPort.dll" to :-

"system32" folder if using XP;

"winnt" folder if using Windows 2000;

"win98" folder if using Win98;

Now the code must run.

Anonymous said...

Hi Jaspreet,
I checked and it is there ParallelPort.dll 36Kb dated 10/11/2006 at 9:43PM in System32.
Is it because it has found the other instance where the .dll program first before it looked in System32?
Will try moving the code.
Regards,
Mauri.

Anonymous said...

Hi Jaspreet,
Yes I got it to work.
I was launching the Demo Code and not doing exactly what you stated on the Web Page.
How do you see the Code?
I could see it in the Demo?
Regards,
Mauri.

Unknown said...

elow jaspreet, how do i get the program to run on a windows 7 64bit computer....do i need to install visual studio to run the program????

Anonymous said...

Hello, Im very interested in being able to use a parallel port to power/control electronic circuits, however i dont have a parallel port on my pc, would this work with your control software...?

http://www.amazon.co.uk/PlusKom-2mtr-Female-Adaptor-Cable/dp/B000Q6JRHU/ref=pd_sim_computers_1

regards, Jake Medler

Jaspreet Singh said...

@Anonymous

USB to Parallel Port converter will not work with my Parallel Port Control software.

John said...

I share the same views. Liked your blog very much.

Ferrari said...

I managed to find Visual Studio C# 2008 Express Edition
I installed the program into C# 2008 and added Jaspreets Parallel Port Control and also ticked it under Tools ParallelPort.DLL.
I then Ran Build and came up with no errors, however when I Ran it came up with this error?
The Jaspreets Parallel Port Control is visable under the Rferences?
(Argument exception was unhandled)
System.ArgumentException was unhandled
Message="Assembly 'C:\\Documents and Settings\\Administrator\\My Documents\\A\\Jaspreets Parallel Port Control (C#%20Source%20Code)%5CJaspreets%20Parallel%20Port%20Control%5Cobj%5CDebug%5CJaspreets%20Parallel%20Port%20Control.dll' could not be found. Ensure the path is correct."

Jaspreet Singh said...

@Ferrari

Copy "ParallelPort.dll" to :-

"system32" folder if using XP;

"winnt" folder if using Windows 2000;

"win98" folder if using Win98;

Anonymous said...

Thanks man, this is awesome. Really appreciate it.

Awi....... said...

Hey ! You're doing a great job.

I was just wondering if you could tell me how to make separate exe files to toggle the power through each data pin.

Thanks :)

Jaspreet Singh said...

@Awi....

Make two different projects in visual studio to get two different exe files...

Aryan Singh said...

Hey !
Your program is not working on my windows 7 64 bit comp. there is no error message. it just says : "Parallel port control has stopped working"
I have put parallelport.dll in system 32 folder

Jaspreet Singh said...

@Aryan Singh

It works in 32-bit Windows only.

Unknown said...

Hi...
I want to send signal on paralall port plz guide me

Bhagzi said...

you wrote in the code:

1)
public partial class ParallelPort : UserControl

Where is UserControl class.

2)
I have included parallel port in the toolbox. I could add that in my form as well, but I am unable to access individual elements of the user control.


Cypherbuster said...

Hi Jas.
I am running Your software on XP and it is doing fine. :)
But I am planning to migrate to Windows 7.
Will Your program work in Win7?
Thanks In Advance.

Jaspreet Singh said...

@Cypherbuster

Hello,

I haven't tried it in Windows 7. But I guess it wouldn't work as the DLLs were meant for windows XP only...

max-chc said...

Good afternoon;

your work is amazing, download the source code but I get this error when compiling the project, if m epudiera help I appreciate it very



Error 1 Unable to write to output file 'C: \ Documents and Settings \ max \ Desktop \ program led \ Jaspreets Parallel Port Control (C # Source Code) \ Jaspreets Parallel Port Control \ obj \ Debug \ Jaspreets Parallel Port Control. dll '-' The process can not access the file because it is being used by another process. 'Parallel Port Control Jaspreets

Anonymous said...

Hello Sir , I want to know how to do parallel port programming in a laptop where no parallel port is available .
Thanks
india2k@yahoo.com

Unknown said...

Hi Jaspreet,

Thank you for sharing your great posts.
I need a circuit to read as many inputs as possible from a parallel port.
I am using Visual Studio 2010 VB Net on a Windows 7 computer. The problem with the parallel port on Windows 7 is solved using a modified inpout32.dll

Would you be so kind and tell me how to read from all 8 data pins and if possible the status pins also.
I saw in your post from 30.08.2008 reading data pins that bit C5 should be set to 1. Do you mean high +5V?
If yes can I do this from an external power supply?

Best regards,
Henrik Lauridsen

Flames F said...

pls where i'm i to put the input32.dll to control a circuit via parrallel port... i'm working with visual basic.. thnks

Unknown said...

Hello SIR, can you provide me source code in C++ for controlling a Remote Control Helicopter by PC (keyboard keys)... I need it very urgent... hayatkhanfaisal@gmail.com

Unknown said...

Please tell me how to install USB to parallel adopter to a printer

TIKA1979 said...

hi Jaspreet,
this is a good software, but download link not working https://sites.google.com/site/jaskaleka/ParallelPortControlCSharpSourceCode.rar
i want to us it in rc car ,can u create other link to download ..,?
thanks.

Brindha said...

Hai..
I couldn't acces my parallel port. If i tried any programmer it shows me a error that,
Dlportio.sys device driver not loaded. Portio will have no effect.. anybody can suggest me to sort out this issue