如何通过Python中的并行端口发送数据?

时间:2016-06-24 14:25:56

标签: python psychopy parallel-port

我需要使用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

  • 如何通过并行端口正确发送和接收信号?

1 个答案:

答案 0 :(得分:1)

有几个选择:

  • 也许你没有得到pyparallel / psychopy的正确驱动程序。如果您使用Standalone PsychoPy(包括32位python),您将需要一个32位并行端口驱动程序。以下链接中的答案告诉您如何下载另一个测试实用程序,该实用程序将插入32位和64位驱动程序的正确版本,您需要在两台计算机上执行此操作
  • 发送pules的脚本将立即完成,可以想象,当脚本结束时,所有引脚都被设置回低位? (我认为通常情况并非如此,但值得检查)
  • 您是否为并行端口设置了正确的地址?您的代码当前使用的是默认地址,但有各种选项。
  • 最后,下面的链接告诉您如何直接使用inpout32.dll,但我认为驱动程序是第一个修复的问题

PsychoPy sending triggers on 64bit OS