我需要通过 Loopbacktest 测试 LPT 端口。我有 Loopbackdongles,只想知道 LPT 端口是否正常工作。我不知道如何用 c# 来实现这个目标。我知道我需要这些 inpout.dll 用于 32 位或 64 位。但是我怎样才能将它用于环回?
提前致谢。
我需要通过 Loopbacktest 测试 LPT 端口。我有 Loopbackdongles,只想知道 LPT 端口是否正常工作。我不知道如何用 c# 来实现这个目标。我知道我需要这些 inpout.dll 用于 32 位或 64 位。但是我怎样才能将它用于环回?
提前致谢。
十五年前,并行端口走上了渡渡鸟的道路。回到石器时代,它们被用于打印机,Centronics 接口是标准的。当时的标准并行端口示意图如下所示:
请注意,它有 8 位用于数据输出,但没有为数据输入保留位。除了一些握手和状态信号(ACK、错误、已选择、缺纸、忙碌)之外,打印机没有回复。
这对于通用 I/O 来说不是很有用,所以一段时间后接口得到了改进。不幸的是,没有单一的行业标准。至少有 EPP(增强并行端口)和 ECP(扩展能力端口),两者都没有成为主导。工业应用中使用的端口只是使用他们自己的供应商特定方案,相互不兼容。那完全打消了这个想法,USB把最后一颗钉子钉在棺材上。
因此,软件中也从来没有一个共同的标准。MS-Dos 仅支持打印机的 LPT 设备,Windows 的并行驱动程序仅支持与打印机的接口,并且仅实现了 STROBE/ACK 握手,仅支持输出。
因此,您首先需要的是支持并行端口的驱动程序。inpout32.dll 并不罕见,它是一个非常简单的驱动程序,可以让用户模式程序直接访问 I/O 端口。在这种情况下,您还需要知道端口映射到哪个地址以及它使用哪些寄存器。如果您不知道,请联系您使用的设备的供应商。