簡體   English   中英

PsychoPy在64位操作系統上發送觸發器

[英]PsychoPy sending triggers on 64bit OS

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

我做了什么:

  1. 通過InpOutBinaries_1500 \\ Win32 \\ InstallDriver.exe下載並安裝InpOutBinaries_1500
  2. 將其他文件(inpout32.dll,.h和.lib以及vssver2.scc)復制到我腳本的工作目錄
  3. 嘗試使用windll.inpout32.Out32(0x378, triggerCode)發送觸發器代碼

觸發器代碼沒有顯示在Brainvision Recorder中,但在調用print str(windll.inpout32.Inp32(0x378))時似乎設置正確。

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

我設法解決了這個問題。 我不完全確定哪個步驟實際上切斷了曲線,但我建議如下:

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

首先,無論您使用32位還是64位操作系統,此程序都會自動且正確地安裝inpout32.dll 此外,它還可以幫助您監視和操作並行端口的引腳。 如果使用標准地址( LPT1LPT3 )不起作用,請選擇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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM