背景
随着Matlab和Psychtoolbox在心理学EEG实验中的普及,并口接口的使用也越来越普遍。如何在Windows系统(注:本推文中所涉及的操作系统均为windows 64位)中借用或建立专用的第三方接口插件,来实现并口数据位的发送和接收。
具体步骤
1.打开网页“http://apps.usd.edu/coglab/psyc770/IO64.html ”,分别下载io64.mexw64,config_io.m,inp.m和outp.m等文件。
2.将io64.mexw64模块复制或移动到MATLAB路径中的目录中(例如,D:SoftwareMATLABR2013btoolbox)。
3.下载 Binaries only - x86 & x64 DLLs and libs. (Mirror)并将解压后“X64”文件夹中,将inpoutx64.dll、inpout32.h 、inpoutx64.lib 这三个模块复制或移动到C: windowssystem32目录(即,该模块必须位于Windows系统PATH中)。
4.将config_io.m,inp.m和outp.m等文件复制或移动到实验程序所在文件夹。
测试代码
%% 端口测试address = hex2dec('378'); %并口地址
config_io;
global cogent;
if( cogent.io.status ~= 0 )error('inp/outp installation failed');
end
outp(address,0);for i = 1:100
outp(address,i);% mark 值
WaitSecs(0.004);
outp(address,0);
end
Tips:端口号的查找方法
首先,咨询实验室管理员。其次,咨询之前用这台电脑做过实验的其他主试。最后,利用下面的方法自己查找。
注意事项
由于inpoutx64.dll是使用Visual Studio编译的,因此必须在计算机上安装Microsoft Visual C ++ 2005 SP1可再发行组件(x64)程序包。使用控制面板查看是否已安装。如果不是这样,则可以从Microsoft处下载安装程序,网址为
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18471
常见问题
按照以上操作步骤完成之后,怀揣着激动的心情期待Maker 或 Trigger 的到来。然后,在我们运行程序的时候却在 Matlab 的 Command Window 中出现了一句令人伤心的语句“InpOutx64 driver is NOT open”(如下图所示),
InpOutx64 driver is NOT open这就意味着呵呵哒,之前的努力还差一点。纠结,如何去解决真的是头大,小编在试了无数次之后,偶然间发现了原因和解决办法。
原因:小编测试后,其中一个原因是缺少:inpoutx64.sys 模块。
解决办法:
1.打开网页:http://www.highrez.co.uk/Downloads/InpOut32/default.htm ,下载inpoutx64.sys 模块(如下图所示)。
2.将inpoutx64.sys 模块复制或移动到C: windowssystem32目录(即,该模块必须位于Windows系统PATH中)
3.然后运行测试文件,就会出现下面的界面,意味着bingo。
暖心提示:
最近有小伙伴按照如上所述的步骤设置之后,仍然显示“InpOutx64 driver is NOT open”,可能是因为系统缺少Microsoft Visual C++ SP1这个运行库或运行环境。
解决方法:到Microsoft官网下载对应版本安装后在测试对应的代码,应该就可以运行了。
Download Microsoft Visual C++ 2010 SP1www.microsoft.com
参考资料
[1] 陈立翰 著.心理学研究方法-基于Matlab 和 Psychtoolbox [M].北京大学出版社,2017.
[2] http://apps.usd.edu/coglab/psyc770/IO64.html
[3] http://www.highrez.co.uk/Downloads/InpOut32/default.htm
福利时刻
文中所提到的所有模块均可以点击链接直接下载
链接: https://pan.baidu.com/s/1eHYLnFgvUKVe3QChwoEH5w
提取码: 9u4q
Q:你在使用过程中遇到什么样的问题呢?欢迎在评论区留言。