我正在尝试使用计算机的并行端口作为廉价数字输出的一种形式来执行各种操作(控制电机、LED 灯、读取限位开关等)。
我想知道如何使用 C++ 控制并行端口上的 8 个数据引脚,但是有一个问题。由于我使用的是具有现代操作系统的现代计算机,因此会出现一些问题。
首先,现代 Windows 操作系统不允许直接访问并行端口引脚,我必须通过驱动程序。有人指出我使用 Inpout32 来执行此操作,但是示例程序编译并正常运行,但我连接的硬件没有响应。另一个人指出我使用 Windows API。我搜索了 MSDN,发现只提到了适当的功能,但没有一些示例代码,我迷路了(也许我在错误的地方搜索)。
第二个问题是我的新电脑没有任何并行端口。我必须使用 USB 转并行端口(便宜且直接来自中国,每个 5 美元,包括运费和税费)。这些端口被计算机识别为 IEEE-1284 控制器,并且自动安装了相应的驱动程序,并且计算机报告该设备“正常工作”。从我在网上看到的情况来看,对于这些 USB 转并行端口连接器的实用性,似乎有各种各样的意见。一个人说它像焊接到主板上的任何常规并行端口一样工作得非常好,另一个人说它可以与一些硬件黑客一起工作,一个人说它可以写但不能读,最后另一个人说它根本不能工作,因为它们是并非设计为与“真正的”并行端口相同的工作方式。
在来这里之前,我已经做了大量的研究(我猜这是最后的手段,即使在申请赏金之后,StackOverflow 也没有给出任何答案)。我在并行端口编程中找到的几乎所有信息都已过时,并假定您的主板上有并行端口、Windows-NT 之前的操作系统或两者都有。
如果有人知道如何做到这一点,请与我分享吗?
谢谢,
- 伪造
注意:我在 Core i7 860 上运行 Windows 7 x64 操作系统。我在 Visual Studio 2008 pro 上使用 C++ 编程。USB 转并行端口连接器通过 USB 2.0 端口连接。