以下是一个简单的MATLAB代码示例,用于读取串口数据和绘制曲线:

% 串口设置
s = serial('COM1'); % 将COM1替换为你的串口号
s.BaudRate = 9600;
fopen(s);

% 初始化变量
data = [];
time = [];

% 读取数据
while (1)
    line = fgetl(s); % 读取一行数据
    if (startsWith(line, 'DATA:')) % 如果是有效数据
        values = strsplit(line, ','); % 将数据按逗号分隔
        data(end+1) = str2double(values{2}); % 取第二个数据
        time(end+1) = now; % 记录当前时间
    end
    if (length(data) >= 100) % 只显示最近的100个数据点
        data = data(end-99:end);
        time = time(end-99:end);
    end
    plot(time, data); % 绘制曲线
    drawnow; % 更新图形
end

% 关闭串口
fclose(s);
delete(s);

这个代码会不断读取串口数据,并将有效数据解析出来存储在datatime数组中。然后,它会绘制曲线,其中x轴是时间,y轴是数据值。drawnow函数确保图形在每次更新后都会立即显示。请注意,此示例假定串口输出的数据格式为“DATA:数值,其他信息”。如果你的数据格式不同,请根据需要修改代码


原文地址: https://www.cveoy.top/t/topic/eE02 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录