[英]PsychoPy sending triggers on 64bit OS
我在Win7 64位操作系统上使用PsychoPy独立v1.81.00发送eeg录制触发器时遇到问题。 我按照这里的描述,不会得到任何(更多)错误。 但是,触发器不会显示在录制计算机上(Win7 32bit下的Brainvision录制器)。
我做了什么:
windll.inpout32.Out32(0x378, triggerCode)
发送触发器代码 触发器代码没有显示在Brainvision Recorder中,但在调用print str(windll.inpout32.Inp32(0x378))
时似乎设置正确。
感谢您的每一条建议或想法!
我设法解决了这个问题。 我不完全确定哪个步骤实际上切断了曲线,但我建议如下:
在演示计算机上下载并安装LPT Test Utility 。
首先,无论您使用32位还是64位操作系统,此程序都会自动且正确地安装inpout32.dll
。 此外,它还可以帮助您监视和操作并行端口的引脚。 如果使用标准地址( LPT1
到LPT3
)不起作用,请选择LPTX
并手动输入您的地址( 请参阅此处在Windows PC上获取并行端口地址的位置 )。 如果使用此程序未在您的录制计算机上显示触发器,则您遇到与PsychoPy无关的问题。
如果失败 ,(重新)安装并行端口驱动程序。 使用Windows 7这不是必要的,但实际上解决了我的一个主要问题。 如果仍然失败,可能是硬件组件(并行端口插头/卡,电缆,同步盒)损坏。
如果触发器使用“LPT测试实用程序”程序但不使用PsychoPy ,则需要根据您的代码进行单独的故障排除。 当然,您需要在PsychoPy代码中插入使用“LPT Test Utility”的端口地址。
from psychopy import core
from ctypes import windll
windll.inpout32.Out32(portaddress, triggerCode) #sends the trigger with triggerCode being an integer between 0 and 255
core.wait(0.05) #wait 50ms
windll.inpout32.Out32(portaddress, 0) #deletes the trigger i.e. resets the pins
最好的祝愿,
马里奥
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.