我使用MATLAB从串口读取数据。我的一位同事正在用LabVIEW做同样的事情。他告诉我,我需要暂停代码,以便让系统有时间将数据写回来。但是,我已经读过"暂停(n)"暂停执行n秒。
我不完全确定"停止执行是什么意思。"是否阻止串口进行读写,从而使我的目的无效?
我应该使用其他功能,还是暂停(n)可以用于我的目的?
答案 0 :(得分:1)
pause(n)
基本上让你的程序在n
秒内休眠。因此,当您调用pause
时,它会使您的程序在那里等待n
秒,然后继续执行下一行代码。
例如:
a = rand(3,3);
pause(2); % // Pause for 2 seconds
b = rand(4,4);
这会在3 x 3
中创建一个随机a
矩阵,然后程序在第二行等待两秒钟。该程序什么都不做,睡不着觉。之后,创建4 x 4
随机矩阵。
要回答您的问题,不会停止串口。在您决定向端口写入更多内容之前,您所做的就是允许将足够的时间数据写入串行端口。同样,您允许串行端口有足够的时间将足够的数据缓冲到端口,这样您就可以在一次读取中读取正确的字节数。