3

我试图找出如何访问并行端口以在 Windows7 机器上写入一些位。此并行端口位于 PCI 卡上,由 Windows7 自动安装,可作为 LPT2 进行监控。分配给端口的地址是 E800-E807 和 E480-E487 。这在我看来像非物理地址。我已经尝试了不同的方法在端口上写入,例如使用http://www.logix4u.net/inpout32.htm中的 inpout32.dll或 parport.dll 作为 Java 解决方案。为了释放这些端口,我安装了 Userport,但我认为使用这个应用程序只能释放真正的物理端口。那么,我怎样才能将端口地址更改为例如 378,或者让我的应用程序使用 inpout32.dll 在虚拟地址上写入?

我已经尝试了一些 google-found-advices,例如在 BIOS 中禁用 378 地址,因此 PCI 卡使用它是“免费的”。或者就像在 LPT1、LPT2、LPT3 之间切换,但似乎没有任何效果。

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

4

1 回答 1

0

E800-E807 和 E480-E487 是 16 位 I/O 地址。因此,您可以使用WinIO 之类的工具包来读取/写入它们。请注意,因为它是一个 PCI 设备,所以 I/O 地址是在启动时动态分配的,并且可能随时更改。一个编写良好的程序会询问 Windows 卡的 I/O 地址是什么,并使用它而不是硬编码它。

于 2014-05-09T17:34:07.337 回答