发送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,所以要温柔的对我。

答案(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以外。

登录置评。


塞缪尔•萨莫拉卢戈
塞缪尔•萨莫拉卢戈 2018年2月27日
下午好SLC891一个问题:你解决的问题发送TTL触发与Psychtoolbox脑电图Neuroscan 3.0.12吗?
我也有同样的问题。我需要帮助。

Almario Abenoja
Almario Abenoja 4分钟前
不知道这个回答,因为它是一个古老的帖子,理想情况下,你需要一些触发器之间的暂停或延迟

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!