串行输入缓冲区大小Matlab

时间:2017-06-12 11:29:24

标签: matlab buffer

我试图读取来自Arduino的大量数据,我已将输入缓冲区设置为500000以确保它可以处理所有这些数据。我的数据是4个传感器读数,每个样本250 Hz。使用默认的缓冲区大小(712),当我实时绘制读数时,我常常遇到障碍,样本变得混乱,这使得情节变得疯狂。我通过将缓冲区大小增加到50000来解决这个问题。但是现在,这将会运行一段时间,但如果我想运行它15分钟,我会在5分钟后得到相同的错误行为,并且绘图变得更慢。我确实有一些处理代码和实时绘图,但它不应该像这样的bi缓冲区。我想知道缓冲区是否包含从头开始的所有数据,直到它已满或者它会在它满了时保持删除旧数据(知道我已经将它保存在另一个向量中并绘制它)。我真的不明白为什么会这样。

亲切的问候 I.H

1 个答案:

答案 0 :(得分:0)

当缓冲区变满时,一旦获得新数据,它就会删除旧数据。您看到的行为是因为您的处理和绘图比数据流慢。

  • 尽量确保优化处理
  • 确保绘图由" drawow"完成。像这样你肯定如果队列中有任何东西没有被执行
  • 尽量避免保存并保留所有数据
  • 如果问题仍然存在,您可以尝试实施计时器以确保与阅读数据保持一致