用matlab从串口读取高频信号
我正在尝试从seril端口读取信号(与arduino一起发送)。您可以在我的代码中看到,我做了一些事情,但还不够,因为读取一个值所需的延迟为0.8s(在“tic”和“toc”之间的延迟)。 这是我在matlab中的代码,如果有人有建议的话用matlab从串口读取高频信号,matlab,arduino,serial-port,Matlab,Arduino,Serial Port,我正在尝试从seril端口读取信号(与arduino一起发送)。您可以在我的代码中看到,我做了一些事情,但还不够,因为读取一个值所需的延迟为0.8s(在“tic”和“toc”之间的延迟)。 这是我在matlab中的代码,如果有人有建议的话 %User Defined Properties serialPort = 'COM6'; % define COM port # %Define Function Variables time = 0; data = 0; coun
%User Defined Properties
serialPort = 'COM6'; % define COM port #
%Define Function Variables
time = 0;
data = 0;
count = 0;
%Open Serial COM Port
s = serial(serialPort,'BaudRate', 9600);
fopen(s);
tic
while (toc<=10)
dat = fscanf(s,'%f'); %Read Data from Serial as Float
count = count + 1;
time(count) = toc; %Extract Elapsed Time
data(count) = dat(1); %Extract 1st Data Element
end
%Close Serial COM Port
fclose(s);
delete(s);
disp('Session Terminated...');
%用户定义的属性
serialPort='COM6';%define COM端口#
%定义函数变量
时间=0;
数据=0;
计数=0;
%打开串行COM端口
s=串行(串行端口,“波特率”,9600);
福彭(s);
抽搐
while(根据文档,您需要使用read
:未定义的函数或变量“serialport”。readasyn(第1行)s=serialport('COM6','InputBufferSize',3600)中的错误;正如Ander所说,使用read
读取浮点,并在数据到达串行端口时触发的事件回调中对采集进行计时,使用,我发现了这个问题,可能它与我的Matlab版本不兼容。您能澄清一下您使用的是哪个版本吗?正如您所说,这是一个新功能,因此您可能有一个旧版本锡安