在Matlab中尝试从COM端口读取数据时出现错误

在Matlab中尝试从COM端口读取数据时出现错误,matlab,serial-port,Matlab,Serial Port,我正在尝试从笔记本电脑的串行端口读取数据。数据来自MSP430到COM13 当我试图通过MATLAB访问数据时,它说- ???在72处使用==>serial.fopen时出错 端口:COM13不可用。没有可用的端口。 使用INSTRFIND确定其他仪器对象是否连接到请求的设备 ==>interfaceplot在3处出错 福彭(s) 我使用的代码是- s = serial('COM13'); %assigns the object s to serial port set(s, 'InputBu

我正在尝试从笔记本电脑的串行端口读取数据。数据来自MSP430到COM13

当我试图通过MATLAB访问数据时,它说-

???在72处使用==>serial.fopen时出错 端口:COM13不可用。没有可用的端口。 使用INSTRFIND确定其他仪器对象是否连接到请求的设备

==>interfaceplot在3处出错 福彭(s)

我使用的代码是-

s = serial('COM13'); %assigns the object s to serial port

set(s, 'InputBufferSize', 128); %number of bytes in inout buffer
set(s, 'FlowControl', 'none');
set(s, 'BaudRate', 9600);
set(s, 'Parity', 'none');
set(s, 'DataBits', 8);
set(s, 'StopBit', 1);
set(s, 'Timeout',100);
%clc;

disp(get(s,'Name'));
prop(1)=(get(s,'BaudRate'));
prop(2)=(get(s,'DataBits'));
prop(3)=(get(s, 'StopBit'));
prop(4)=(get(s, 'InputBufferSize'));

disp([num2str(prop)]);

fopen(s);           %opens the serial port

data = fscanf(s);

fclose(s); %close the serial port

通常,正如matlab和评论员所指出的,instrfind会查找使用串行端口的对象。关闭所有这些(不需要的)连接的根本方法是:

fclose(instrfindall);
delete(instrfindall);
这将关闭所有连接并删除对象。键入
instrfind
之后将显示
[]
。如果不起作用,请尝试重新连接设备或重新启动计算机,然后重试。我能想到的最后一件事是使用终端/命令行(我在UNIX上)和google如何找出哪个进程使用哪个COM端口。然后终止进程并重试


不用说,您需要关闭使用该COM端口的所有其他程序。确保(很容易忘记)。

INSTRFIND的输出是什么?仪器对象数组索引:类型:状态:名称:1串行关闭串行-COM13 2串行关闭串行-COM13 3串行关闭串行-COM13?