避免蓝牙传输延时(Arduino转MATLAB GUI)

9次浏览(过去30天)
嗨。
我使用Arduino板在指定的时间内通过蓝牙将模拟值(加速度计数据)发送到MATLAB,然后在GUI轴上绘制数据。
当我第一次将蓝牙模块连接到MATLAB并开始接收数据,然后存储并绘制数据时,它运行平稳(信号似乎有点延迟,但并不多)。
我的问题是 当我关闭图文件,然后再次运行代码 几秒钟后,无需重新运行脚本来连接设备(因为它已经连接并存储在 “开发” 变量), 情节有大量的延迟 (这意味着信号与获取信号的时间不匹配)……
我认为这与数据在输入缓冲区上的积累有关,所以我尝试使用 flushinput (obj) 函数,但似乎不起作用。
连接蓝牙模块的代码:
全球dev
dev =蓝牙(dn, str2double (di.Channels));
fopen (dev);
用于绘制数据的代码:
X = 0 (1,interv);
h =情节(南、南“r”);
t = 1:1:间歇雨刷
ax = fscanf (dev,' % d '1);
唉= fscanf (dev,' % d '1);
阿兹= fscanf (dev,' % d '1);
%值(t):) = [a, b];
X (t) = ax;
轴(handles.axes1);
集(h,“XData”x (1: t));
ylim(200年[-200]);
drawnow;
结束
关于如何消除这种延迟,有什么想法吗?
最好的问候,Sara

答案(0)

类别

了解更多图形性能帮助中心而且文件交换

社区寻宝

在MATLAB Central中找到宝藏,并发现社区如何帮助您!

开始狩猎!