我在 Windows 7 计算机上使用 Psychopy v1.82.01(编码器视图)来运行 fMRI 实验。我想从并行端口读取数据()(用于记录按钮按下和接收来自扫描仪的触发器以进行同步)。但是,当我使用 readData() 或 readPin() 时,所有引脚似乎都保持低电平('0')。
为了进行完整性检查,我尝试从 Presentation 中的端口读取数据(以检查设备是否正常工作/地址正确/等),这可以识别按钮按下。奇怪的是,如果我在 PsychoPy shell 中(使用 readData() 和 readPin())并且 Presentation 处于打开状态,并且“端口测试”窗口打开,那么它确实有效!另外,如果我从 Presentation 向端口发送数据,那么我可以在 PsychoPy 中读取它(所以我相当有信心我的代码很好)。setData() 函数工作正常,我只是难以读取数据。
我正在使用的代码是:
from psychopy import parallel
button = parallel.ParallelPort(0x2010)
while True:
if button.readPin(5) !=0:
break
print 'value received'
我对并行端口或并行功能的“幕后”工作不是超级有信心,但似乎在读取端口时存在某种访问问题,当 Presentation 访问端口时会被覆盖,但是我在 PsychoPy 中使用的功能无法自行管理?这可行吗?
任何关于从哪里开始解决此问题的想法将不胜感激!