Solved

LPT access on pins In/Out for real-time measurements on a PCI card

Posted on 2007-03-23
6
1,018 Views
Last Modified: 2011-10-03
I bought a new computer with windows XP-SP2 on it where is everything on it USB's,firewire, and ethernet connections ... but the standard port LPT was absent, i didn't pay attention on it, i bought a PCI card to put in a slot with onte LPT and 2 COM's, now i have the same problem as others to access on pins in/out as i could before until i used windows 98 and the Borland compiler wit hthe instructions inportb/outportb .The problem with PCI cards is that there is  an indirect address to LPT's and specila initialisation as i understoud

Somebody knows how to initialize such type of card? and how to access at the pins .. i need to make some measures real-time on them ... and what was possible before easily, becomes very hard to do now
Somebody had the ame problem and could solve it?

I use CBuilder6  ( i have the precedent versions in case impossible with that one and the normal C++ compilre 4.5 or 5 form borland wher the instructions in/out and inportb/outportb where present )
I saw by case one time on net .. but sad i don't remember where that linking some file from the old compiler, a file *.obj gives the access on the instruction that where deleted on the CBuiler versions, true or not?

Sorry for my english if many mistakes ....  if somebody can help would be happy ... that could be just knowing if somebody sales a driver that gives that access on a LPT trough a PCI card .. any solution welcome, not necessarely writing directly code for it
0
Comment
Question by:BorlandUser
6 Comments
 
LVL 22

Accepted Solution

by:
grg99 earned 63 total points
Comment Utility
The main problem is Xp doesnt provide direct access to the LPT port from protected-mode programs.

It does from 16-bit segmented programs.  You'll need to load up some ancient C like Borland C 5.5 (free download).  That will generate real-mode 16-bit programs which the DOS window will emulate the LPT port accesses.

-------------

Or alternatively there are port drivers like "PortIo" which provide raw port io through a kernel-mode driver.  That will work in protect mode C.

    Google for it.  



Hope this helps.



0
 
LVL 4

Assisted Solution

by:MacroLand
MacroLand earned 62 total points
Comment Utility
0
 

Author Comment

by:BorlandUser
Comment Utility
thanks for your answers, but as i told you i don't have on my new computer a direct interface on the LPT that i could wite or read in it like at the address 378H, IoPort works only on that , with an intefacce LPT : (and 2 serail COM., not used for the moment but same problem ) the real address i know in my case is 0x0000CC10 wich can be normally read read on the address 0x00000408 in the computer, reading that position that gives the base address of the  LPT. wich is 0x0000CC10, ic ould see that with a program (evaluation, expired now ... ) wich cost a lot and would not spend 3-600$ just to use that program to read a base address on that memory position ... on the CBUILEDR6 i introduced some assemble lines in  a procedure to read that position givig me the terturn address of the LPT .... and seems to work because the procedure tries to do it really ..
Inow tha tbecause i have an error message of Windows saying:  memory access violation at address 0x00000408 wich is right ....
Possible to put the prcessor . od somthing to put it in supervisor mode - to have access to all?
I show you the listing of my procedure if interested .. but that is for nothing if i don't solev the problem of access protection now ...
0
 
LVL 6

Expert Comment

by:SeanDurkin
Comment Utility
No comment has been added to this question in more than 21 days, so it is now classified as abandoned.

I will leave the following recommendation for this question in the Cleanup Zone:
  Split: grg99 {http:#18781247} & MacroLand {http:#18785720}

Any objections should be posted here in the next 4 days. After that time, the question will be closed.

Sean
EE Cleanup Volunteer
0

Featured Post

Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

Join & Write a Comment

Sometimes people don't understand why download speed shows differently for Windows than Linux.Specially, this article covers and shows the solution for throughput difference for Windows than a Linux machine. For this, I arranged a test scenario.I…
For both online and offline retail, the cross-channel business is the most recent pattern in the B2C trade space.
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

772 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now