gpt4 book ai didi

python - PsychoPy:无法从并行端口读取数据

转载 作者:行者123 更新时间:2023-11-28 18:33:55 29 4
gpt4 key购买 nike

我在 Windows 7 计算机上使用 Psychopy v1.82.01(编码器 View )来运行 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 使用的功能无法自行管理?这可行吗?

任何关于从哪里开始解决这个问题的想法都将不胜感激!!

最佳答案

终于成功了!如果其他人有类似的问题,在 _inpout32.py 文件 (/parallel/_inpout32.py) 的函数“init”中有一个命令可以切换到控制寄存器的零位 5。我复制了这个命令并将其包含在 setData() 函数中,然后在 readData() 中我改变了它所以第 5 位为高(输入参数是基地址 + 2 和 32):

self.port.Out32(self.base + 2, 32)

可能会导致更多无法预料的问题,但目前这似乎有效!

关于python - PsychoPy:无法从并行端口读取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34229458/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com