Python如何通过并口发送数据?

How to send data through parallel port in Python?

我需要使用 Python 通过并行端口发送一些数据。为此,我正在使用 psychopy.parallel 模块。

我有两台 Windows 7 x64 机器通过并行端口连接。此连接已经过测试并且可以正常工作,因为另一个软件使用它通过 LPT1 端口发送数据。

我已经按照 here.

的描述为 psychopy.parallel 安装了必要的库

这是我天真的直觉:

机器 1(发送数据):

from psychopy import parallel
port = parallel.ParallelPort(address="0xC010")
port.setData(3) # sets just pin 2, 3 high

正在检查机器 1

port.readData()
> 3

正在检查机器 2(接收数据):

from psychopy import prallel
port = parallel.ParallelPort(address="0xEC00")
port.readData()
> 0 

我看到虽然我可以在 机器 1 上正确设置引脚并读取结果,但 机器 2 只是给了我一个 0

有几个选项:

  • 也许您没有合适的 driver 与 pyparallel/psychopy 交谈。如果您使用独立的 PsychoPy(包括 32 位python),您将需要一个 32 位并行端口 driver。下面 link 中的答案告诉您如何下载另一个测试实用程序,它将插入正确版本的 32 位和 64 位 drivers,显然您需要在两台机器上都这样做
  • 你发送脉冲的脚本会立即完成,可以想象当脚本结束时,引脚都被设置回低电平? (我认为通常情况并非如此,但值得检查)
  • 你设置的并口地址是否正确?您的代码当前使用默认地址,但有多种选择。
  • 最后,下面的 link 告诉你如何直接使用 inpout32.dll 来完成它,但我认为 driver 是第一个要修复的东西

PsychoPy sending triggers on 64bit OS