首页 > 解决方案 > 使用matlab从串口读取高频信号

问题描述

我正在尝试从串行端口读取信号(使用 arduino 发送)。您可以在我的代码中看到我做了一些事情但还不够,因为读取一个值所需的延迟大约为 0.8 秒(“tic”和“toc”之间的延迟。如果有人有建议,这是我在 matlab 中的代码.

%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...');

大家想想!

标签: matlabarduinoserial-port

解决方案


推荐阅读