【问题标题】:Write to a parallel port on windows 7在 Windows 7 上写入并行端口
【发布时间】:2023-03-12 17:07:02
【问题描述】:

我试图找出如何访问并行端口以在 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

【问题讨论】:

  • 只是为了确定,您使用的是 32 位还是 64 位 Win 7?
  • 64 位 Win 7。AMD Athlon II X3 455 处理器 3.30 GHz。
  • 我认为 64 位操作系统是您的问题。您一直在使用的 dll 驱动程序是 32 位的,并且与 wow64 层而不是物理硬件通信。我怀疑64位地址空间是不同的。
  • 所以如果我改成 32 位,我可以写入真正的 378-default-port 地址,但我也可以写入这个奇怪的 E800... 地址空间吗?

标签: windows-7 port bios pci parallel-port


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-01
    • 2023-03-14
    • 2011-04-12
    • 2015-06-28
    • 1970-01-01
    • 2019-07-03
    • 1970-01-01
    相关资源
    最近更新 更多