是否可以使用matlab从串行端口读取数据?

是否可以使用matlab从串行端口读取数据?,matlab,serial-port,Matlab,Serial Port,我正在从持续输出信息的传感器读取数据。我是Matlab新手,所以没有太多经验。我想修改下面的代码。 与其总是调用readline()来获取数据,我只想调用它一次,让它总是读取下一行数据。 `` `` 输出: 18.110 24.140 17.200 24.110 0.550 0.740 0.490 0.670 我希望它总是读取数据,因为传感器总是打开的 提前感谢。您可以使用while循环,设置为在您事先知道的条件下终止(时间量或数据量),或者

我正在从持续输出信息的传感器读取数据。我是Matlab新手,所以没有太多经验。我想修改下面的代码。 与其总是调用readline()来获取数据,我只想调用它一次,让它总是读取下一行数据。 ``

`` 输出:

18.110 24.140 17.200 24.110 0.550 0.740 0.490 0.670

我希望它总是读取数据,因为传感器总是打开的


提前感谢。

您可以使用while循环,设置为在您事先知道的条件下终止(时间量或数据量),或者如果您希望通过键盘手动终止循环,则可以将其设置为从不终止:

S = serialport('COM5',115200);
values = [];
while true
    if S.NumBytesAvailable > 0
        data = readline(S);
        values = [values str2double(split(data,','))];
    end
end

如果您知道需要多少数据,可以通过预先分配值数组来提高效率。

是否有错误?如果是的话,你能把它贴到问题上吗?我没有任何错误。我想修改代码,所以我不总是调用readline()来提取数据,而是只调用一次。
S = serialport('COM5',115200);
values = [];
while true
    if S.NumBytesAvailable > 0
        data = readline(S);
        values = [values str2double(split(data,','))];
    end
end