发送TTL触发与Psychtoolbox脑电图Neuroscan 3.0.12 (Win7/64bit)
42视图(30天)
显示旧的评论
试图设置脚本发送脉冲Neuroscan (EEG系统),但是我遇到一些问题。这是开幕式代码调用并行端口:
config_io;
地址= hex2dec (“DFF8”);
然后我叫定义函数开始,以确保该端口是打开的。这是一个例子的一个触发器:
函数sendTrigger ()
outp(地址,0);
outp(地址1);
在实验脚本,然后调用的函数使用:
函数sendTrigger ()
结束
1 -我做错了什么?
2 -为什么告诉我:“这个函数sendTrigger可能未使用”
3 -如果我使用CMD的功能本身,然后他们工作好。
4 -当我试着窝在一个“if / else”功能(发生),我得到了“函数关键字无效”。我知道我不能嵌套函数在if / else,但我不确定如何规避问题同时保持脉冲在正确的地方。
注:我两个cpu上运行Windows 7
Psychtoolbox是版本
3.0.12
Matlab是版本:
r2016a
Neuroscan版本:
4.5
我新Matlab,所以要温柔的对我。
0评论
答案(3)
沃尔特·罗伯森
2016年6月2日
调用触发,只使用
sendTrigger ()
“功能”关键字仅是用于定义新函数。
您的代码应该类似,
函数drive_the_device
config_io;
地址= hex2dec (“DFF8”);
函数sendTrigger ()
outp(地址,0);
outp(地址1);
结束
为K = 1: 50
sendTrigger ();
暂停(0.5);
结束
结束
在实践中你可能有困难并行端口工作在MS Windows XP;XP并口困难从用户空间访问,和Vista限制他们几乎只签署了司机没有用户访问。
2的评论
沃尔特·罗伯森
2016年6月3日
你不能从外部调用一个嵌套函数嵌套函数,除非您传递一个函数句柄外嵌套函数。注意到我的示例代码,我叫sendTrigger从内嵌套函数。这没有任何与并行端口。
你可能想要考虑这样的:
函数sendTrigger = configure_trigger
config_io;
地址= hex2dec (“DFF8”);
sendTrigger = @ () sendTrigger_to(地址);
结束
函数sendTrigger_to(地址)
outp(地址,0);
outp(地址1);
结束
输出是一个sendTrigger处理函数,你可以调用configure_trigger以外。