2014-11-05 30 views
6

我在Win7 64位操作系統上使用PsychoPy standalone v1.81.00發送eeg記錄觸發器時遇到問題。我按照here的描述,並沒有得到任何(更多)錯誤。但是,觸發器不會顯示在錄音計算機(Win7 32bit下的Brainvision錄音機)上。PsychoPy在64位操作系統上發送觸發器

我所做的:

  1. 下載,並通過InpOutBinaries_1500 \ WIN32 \ InstallDriver.exe安裝InpOutBinaries_1500
  2. 複製其他文件(inpout32.dll,h和.LIB以及vssver2.scc )給我的腳本的工作目錄
  3. 試圖與windll.inpout32.Out32(0x378, triggerCode)

發送觸發代碼觸發代碼不Brainvision記錄BU露面在撥打print str(windll.inpout32.Inp32(0x378))時似乎設置正確。

感謝您的每一條建議或想法!

回答

9

我設法解決了這個問題。我並不完全確定哪個步驟實際上會削減曲線,但我推薦以下內容:

在演示計算機上下載並安裝LPT Test Utility

首先,無論您使用32位還是64位操作系統,本程序都會自動並正確地安裝inpout32.dll。 更重要的是,它可以幫助您監視和操作並行端口的引腳。如果使用標準地址(LPT1LPT3)不起作用,請選擇LPTX並手動輸入您的地址(see here where to get your parallel port address on a Windows PC)。如果使用此程序沒有在您的錄音電腦上顯示觸發器,則說明您的問題與PsychoPy無關。

如果失敗(重新)安裝並行端口驅動程序。使用Windows 7這不應該是必要的,但實際上爲我解決了一個主要問題。如果仍然失敗,可能是硬件組件(並行端口插件/卡,電纜,同步盒)損壞。

如果觸發器與「LPT測試實用程序」程序一起使用但未使用PsychoPy,則需要根據您的代碼進行個別故障排除。當然,您需要在您的PsychoPy代碼中插入與「LPT測試實用程序」配合使用的端口地址。

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 

最良好的祝願,

馬里奧

+1

雖然「LPT測試實用程序」並沒有真正爲我工作,它讓我在正確的軌道上。 [Parallel-Port-Tester](https://www.downtowndougbrown.com/2013/06/parallel-port-tester/)是一個類似的程序,它指出我要使用正確的LPT地址。 – 2017-11-23 12:15:22

相關問題