初步故事
有这个程序使用并行端口与其他硬件同步。它将并行端口输出设置为指定的(字节)值。这在使用 PC 的内置并行端口时可以正常工作。目标平台是 Windows XP 到 7,到目前为止一切正常。源代码在 Delphi 中,可访问且可以修改。
这个怎么运作
在 Delphi 中,我可以使用io.dll设置并行端口的值,但也有其他可用的解决方案,如inpout32.dll或port.dll。我调用类似的东西PortOut
,指定端口号和字节值并设置端口。
我现在想做什么 - 以及我需要帮助的地方
现在改变:这需要在没有内置并行端口的机器上工作(甚至不在主板上)。有几个选项可用:
- 使用 USB 到并行端口适配器将 LPT 端口添加到 PC
- 使用向 PC 添加 LPT 端口的 PCI 卡
- 使用向 PC 添加 LPT 端口的 PCI Express 卡
我目前正在寻找并专注于最简单和最便宜的可能性:USB 到并行端口适配器。
主要问题
仅用于连接打印机的并行端口适配器与似乎更强大的其他适配器之间似乎存在差异。真的有区别吗?或者我可以只使用这 5 美元的打印机适配器之一,插入我自己的硬件并从 Delphi 代码访问端口吗?还是我需要一个特殊的适配器?有没有人有这方面的经验?这里有一个相关的问题,但那里没有提到不同的适配器类型(如果存在)。此页面表明确实存在差异:
与只能连接到打印机的所有其他 USB 并行端口相反,这可以连接到大多数硬件。
我希望存在通过 USB 的解决方案,因为为此您不必打开 PC,这意味着可以按需添加适配器。
子问题
您有使用 PCI (Express) 解决方案的经验吗?如果 USB 方法不成功,我必须使用一个。