您的位置:首页 > 编程语言 > MATLAB

Matlab下调用USB串口发送trigger信号

2017-04-28 18:48 766 查看
我们使用脑电设备记录脑电信号时需要打Mark点才方便后续的分析处理。然而,控制刺激源的电脑与记录脑电信号往往不是同一台电脑,这时,就需要一个trigger通信。这可以在Matlab下调用可以发送trigger信号的USB来解决。

我们的设备是HD-72Headset和Wireless Trigger - USB(其他设备要自己确认正确的波特率等信息)。Windows环境下的Matlab下发送trigger的步骤如下:

1、把USB插入一台电脑,安装驱动程序(一般都可以自动安装,也可以搜索FTDI USB转串口驱动安装);另一台控制脑电的电脑和脑电设备也打开,使其处于信号记录状态。

2、打开电脑的设备管理器,选择端口(COM和LPT)项,确定该USB的端口号(是COM1-COM4中的哪一个)。

3、打开Matlab,在命令行输入

s = serial('COM3','BaudRate',57600);  %COM3需要根据具体的电脑更改
fopen(s);
fwrite(s, [7], 'uint8');   %数值在0-255之间
fclose(s);


这样就发送了一个trigger到脑电了,可以在记录脑电信号的软件里检测是否收到。

之前,我曾用串口调试助手测试过发送trigger信号,结果是可以发送,但是一个波特率只能发送一次,再次发送时好像是会缓存但是不会显示。另外,只有特定的几个波特率可以发送trigger。

这里顺便附上Matlab下调用并口发送trigger信号的代码,这段代码是我查资料时发现的,未经测试。

DIO1 = digitalio('parallel','LPT1');
out_lines = addline(DIO1,0:7,0,‘out’);

putvalue(DIO1.Line(1:8),coder);
putvalue(DIO1.Line(1:8),0);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  EEG usb matlab windows