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 是第一个要修复的东西
我需要使用 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 是第一个要修复的东西