我想从USB源接收MATLAB程序的输入。有可能的?怎么样?我也是通过USB发送音频流的硬件开发人员。有什么方法可以发送这种数据,使其更容易接收吗?
答案 0 :(得分:3)
您的设备是否可以显示USB虚拟COM端口?然后正常的MATLAB com端口调用(overview)运行良好。
s1 = serial(port,'BaudRate',57600,'Parity','none','Stopbits',1, ...
'Terminator','CR/LF'); % there are more properties to play with
fopen(s1);
fprintf(s1, 'text'); % appends terminator
resp = fscanf(s1); % waits for terminator
fwrite(s1, [1 2 3 4 5], 'uint8'); % writes binary chars, no terminator
resp = fread(s1, s1.BytesAvailable, 'char'); % reads all available bytes as chars
fclose(s1);
这些调用不需要数据采集工具箱,这很好,根据我的经验,可以使用ASCII和二进制数据。
但是在某些计算机上,我们发现FOPEN呼叫永远都是。出于某种原因,这与某些笔记本电脑上的蓝牙虚拟COM端口有关。因此,我们最终编写了一个非常简单的.NET DLL,它包装了Microsoft .NET串行端口类,然后将其作为ActiveX服务器导入Matlab。但希望上面的内容能让你开始。
答案 1 :(得分:2)
您有虚拟串口并使用上面的示例,或者您在某些语言中有一些API,最好是C / C ++(如果您想要快速数据传输)到插入设备时显示的设备驱动程序。
答案 2 :(得分:1)