LTP port : communication

S

scott

I have written code in c++ to monitor some signals from
the outside world via the status port on the parallel
port.It works perfectly on my laptop which has windows95
but will not work on a desktop with windows2000.The
screen is displayed ok but no communication with the
parallel port.

The address for the status port is 0379 hex in my program
and after checking the desktop it indicates 0378-037F
OR 0778-077D.

Can anybody give me some help ?
 
P

pjp

You'll find none of those old "tricks" accessing the hardware directly will
work under any NT based kernel ... period. That's one of the things that OS
(as well as Linux etc.) do as part and parcel of pre-emptive multi-tasking,
e.g. insure complete "divorcing" of the hardware from the software. You have
toy do it the Windows documented way. It's the same trying to access any
"phycial" device, e.g. com ports, keyboard, raw mouse data, raw usb data;
the OS just doesn't allow software direct access to ports, registers etc.
even add on cards and the like.

You'll have to learn how to do it the "NT" way or not at all.

Now that said, there are "components" etc. (I use Borland's compilers)
available (I'm sure I've seen at least one) that do allow access so it might
not be as bad as you think, e.g. slap in a component and it does the "work"
for you exposing through "methods and/or properties of an object" what you
need, the "how" is already done.
 
S

Si Ballenger

You'll find none of those old "tricks" accessing the hardware directly will
work under any NT based kernel ... period. That's one of the things that OS
(as well as Linux etc.) do as part and parcel of pre-emptive multi-tasking,
e.g. insure complete "divorcing" of the hardware from the software. You have
toy do it the Windows documented way. It's the same trying to access any
"phycial" device, e.g. com ports, keyboard, raw mouse data, raw usb data;
the OS just doesn't allow software direct access to ports, registers etc.
even add on cards and the like.

You'll have to learn how to do it the "NT" way or not at all.

Now that said, there are "components" etc. (I use Borland's compilers)
available (I'm sure I've seen at least one) that do allow access so it might
not be as bad as you think, e.g. slap in a component and it does the "work"
for you exposing through "methods and/or properties of an object" what you
need, the "how" is already done.

If you want to directly control the parallel port pins and other
hardware on XP/2K/NT, just do a google search for an application
called userport.zip. It is a slick little application that gives
user level access to the hardware so most of the old "tricks"
work as usual. It is usually used to program PIC chips via the
parallel port. As a working example, the below link connects to
an apache module on my XP pro machine. Apache cgi runs the
status.bat file, which has qbasic run a status.bas file. The
status.bas file sets four data lines on the parallel port high,
and then reads the parallel port status lines to see if an
electrical path is established. This checks to see if some
contacts are open or closed. Qbasic writes its output to stdout,
which is picked up by apache and sends the info back to your
bouser. The bottom link tells how to do the setup. Some times
you need to have XP your way. ;-)

http://zoomkat.d2g.com:88/cgi/status.bat
http://www.geocities.com/zoomkat/status.htm
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top