我需要通过Loopbacktest测试LPT端口。我有Loopbackdongles,我只想知道LPT端口是否工作正常。我不知道如何使用c#来实现这个目标。我知道我需要这些32位或64位的inpout.dll。但是我如何才能将其用于环回呢?
提前谢谢。
发布于 2013-11-26 18:45:01
并行端口在15年前走了渡渡鸟的老路。回到石器时代,它们被用于打印机,Centronics接口是标准接口。当时的标准并行端口看起来就像这样:

请注意,它有8位用于数据输出,但没有保留用于数据输入的位。打印机没有回应,除了一些握手和状态信号(ACK、错误、选定、缺纸、忙)。
对于通用的I/O来说,这并不是很有用,所以过了一段时间,接口就得到了改进。不幸的是,没有单一的行业标准。至少有EPP (增强型并行端口)和ECP (扩展功能端口),两者都不占主导地位。工业应用中使用的端口只是使用自己的特定于供应商的方案,相互不兼容。这完全扼杀了这个想法,USB把最后一颗钉子钉进了棺材。
因此,在软件中也从来没有一个共同的标准。MS-Dos仅支持打印机的LPT设备,Windows的并行驱动程序仅支持与打印机的接口,并且仅实现了仅支持输出的STROBE/ACK握手。
因此,您需要的第一件事是支持并行端口的驱动程序。inpout32.dll并不少见,它是一个非常简单的驱动程序,可以让用户模式程序直接访问I/O端口。在这种情况下,您还需要知道端口映射到哪个地址,以及它使用什么寄存器。如果您不知道,请与您使用的设备的供应商联系。
https://stackoverflow.com/questions/20212641
复制相似问题