2011-10-06 86 views
3

我尝试了解如何访问并行端口以在Windows7机器上写入某些位。该并行端口位于PCI-Card上,并由Windows7自动安装,并可作为LPT2进行监视。分配给端口的地址是E-E-E807和 E480-E487 。这在我看来像非pyhsical地址。我已经尝试过使用不同的方法在端口上编写,比如使用http://www.logix4u.net/inpout32.htm或parport.dll中的inpout32.dll作为Java解决方案。为了释放这些端口,我安装了Userport,但我认为使用这个应用程序只能释放实际的物理端口。 那么,我该如何将端口地址改为378,或让我的应用程序写在虚拟地址与inpout32.dll?在Windows 7上写入并行端口

我已经尝试了一些Google搜索建议,例如在BIOS中禁用378地址,因此它对于PCI卡使用的beeing是免费的。或者像在LPT1,LPT2,LPT3之间切换,但似乎没有任何工作。

编辑:也许有人知道这个PCI卡的特定驱动程序,以便我不需要使用默认的驱动程序?它是:http://www.delock.de/produkte/gruppen/IO+Karten/1x_Parallel_UND_2x_Seriell_-_PCI_Karte_89004.html

+0

只是为了确保你使用32位或64位Win 7? – user957902

+0

64位Win 7. AMD速龙II X3 455处理器3.30 GHz。 –

+1

我在想,64位的操作系统是你的问题。您一直使用的dll驱动程序是32位,正在与wow64层进行通信,而不是物理硬件。我会怀疑64位地址空间是不同的。 – user957902

回答

0

E800-E807和E480-E487是16位I/O地址。所以,你可以使用像WinIO这样的工具包来读/写它们。请注意,因为它是PCI设备,所以在启动时会动态分配I/O地址,并且可能随时更改。一个写得很好的程序会问Windows什么是卡的I/O地址,并用它来代替硬编码。

相关问题