matlab控制串口/usb 进行设备通讯

%m文件代码
s = serial('COM4'); %设置为实际使用的串口号即可
get(s,{'Name', 'Port','Type' })
s.ReadAsyncMode = 'continuous';
fopen(s);
fprintf(s,'*idn?') %发送给测试仪的读取命令
out=fscanf(s) %读取返回结果
fclose(s);

Matlab可以直接操作串口,直接和连接在电脑串口上的设备通讯。 这个不依赖于任何第三方驱动,只要是windows可以控制的串口即可。

demo如下:
s = serial('COM1'); %设置为实际使用的串口号即可 即便是usb转的串口也没有问题 修改一下对应的串口号就好了
get(s,{'Name', 'Port' ,'Type' }) %查看设置信息
s.ReadAsyncMode = 'continuous' ;
fopen(s);
fprintf(s,'*idn?') %发送给测试仪的读取命令
out=fscanf(s) %读取返回结果
fclose(s);

又研究了一下发现原来 Matlab是可以借助Visa驱动直接控制仪器的~ 并且操作很简单,发现有很多同学用的上,分享一下~
通过USB接口直接控制仪器(前提:安装好NI的Visa驱动),demo如下:

inst = visa('ni', 'USB0::0x1AB1::0x0C94::DM3O020120611::INSTR'); %注意如果安装ni的visa第一个参数必须是‘ni’,如果机器只有agilent的visa驱动则修改为‘agilent’即可
fopen(inst);
fprintf(inst, '%s', '*idn?\n');
str = fscanf(inst, '%s')
fclose(inst);

如果需要进行其他设置或进一步了解请查阅Matlab帮助文档。搜索 “serial” 或“visa”即可。

你可能感兴趣的:(matlab控制串口/usb 进行设备通讯)