首页 文章

Matlab - 图形用户界面(GUI),带有arduino数据的图

提问于
浏览
0

我有一个Matlab程序完成了实时绘图,从arduino的LDR传感器获取数据 . 现在我想在GUI中实现该程序,我正面临一些绘图问题 . 这是我的程序的一部分,我不知道如何在GUI模式下绘图 .

(...)While(1)state = a.analogRead(0); (...)轴紧拉; x = [x,state];积(X, ' - * B');网格;结束

代码必须在OpeningFcn中?我应该把它复制到那里吗?我需要在绘图代码中更改什么?非常感谢你!

1 回答

  • 0

    OpeningFcn 中的一个无休止的 while 循环将无限期地锁定您的GUI . 你're better off creating a timer object and running your '不断“在其回调中绘制代码代码;一个例子:

    function myui_OpeningFcn(hObject, eventdata, handles, varargin)
    
        % Create timer with delay of 0.1 seconds
        handles.tmrPlot = timer( ...
            'ExecutionMode', 'FixedRate', ...
            'Period', 0.1, ...
            'TimerFcn', @myPlottingFunction);
    
        % Store in ui data
        guidata(hObject, handles);
    
        % Start it!
        start(handles.tmrPlot);
    end
    
    function myPlottingFunction(src, evt)
        % Do some plotting
        plot(rand(10));
    
        drawnow;
    end
    

    使用计时器,您还可以在按钮的回调中启动和停止执行 .

相关问题