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,在命令行输入
这样就发送了一个trigger到脑电了,可以在记录脑电信号的软件里检测是否收到。
之前,我曾用串口调试助手测试过发送trigger信号,结果是可以发送,但是一个波特率只能发送一次,再次发送时好像是会缓存但是不会显示。另外,只有特定的几个波特率可以发送trigger。
这里顺便附上Matlab下调用并口发送trigger信号的代码,这段代码是我查资料时发现的,未经测试。
我们的设备是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);
相关文章推荐
- 给MK802(USB大小的Android4.0小PC)引出串口信号,变成ARM开发版
- 串口信号发送,运用vc++6.0的实现方法
- 分享一个win7 下串口转换USB的驱动程序
- 语音信号的端点检测的matlab代码(子带谱熵法法)
- linux C语言 串口 上层发送0x0A,底层却发送了0x0D 0x0A两个字节的解决方法
- 串口发送数据——字符串发送与十六进制发送的区别
- linux信号处理、killall、SIGALRM、sigaction函数和结构体、向进程发送信号
- 请问怎么操作USB口,也是和串口一样用CreateFile,ReadFile,WriteFile等等吗?
- minicom配置USB串口遇到到问题
- ZigBee基础实验(五)--UART(ONLY串口发送)
- android设备使用usb串口传输数据
- 读取arm串口时读到了发送的数据
- 发送一次信号槽函数多次响应
- 《圈圈教你玩USB》之 USB键盘 【串口输出】
- 用串口连接GSM手机发送和接收短消息,在应用程序中如何编程实现?
- 用java通过串口发送短信,并且部署到tomcat
- 通过串口发送手机短信(C#版)
- 单片机串口发送数据帧
- STM32串口在首次发送字符的时候,首字符丢失解决办法
- upD79F8513A(NEC)或upD78F0511A(NEC)之串口0中断发送和接收数据