【问题标题】:Tranferring data from a function to a callback function within a GUI in MATLAB在 MATLAB 的 GUI 中将数据从函数传输到回调函数
【发布时间】:2013-06-13 14:27:47
【问题描述】:

我在 MATLAB 中有一个 GUI(使用 GUIDE 创建),它有一个按钮回调和 2 个编辑框。首先要填充编辑框,然后按下按钮在一对轴上绘制一个图形。

按下此按钮后,我执行一个 .m 文件,该文件将编辑框中的数据串行发送到微控制器,并根据发送的数据接收一些计算数据。该数据在另一个单独的函数文件中生成,该文件处理从微控制器发回的串行数据。

现在,我想将此数据传输到按钮回调函数,以便将其绘制在一对轴上。我如何做到这一点没有全局变量?问题很复杂,因为每次我从微控制器接收串行数据时都必须不断更新绘图。

按钮回调的概要如下:

% --- Executes on button press in angle_speed_pushbutton_callback.
function angle_speed_pushbutton_callback_Callback(hObject, eventdata, handles)
% hObject    handle to angle_speed_pushbutton_callback (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)


angle1 = handles.xy_angle;  %These values are obtained from the edit boxes
angle2 = handles.xz_angle; 
delay = handles.speed;

Testbed_Calibration_main; %Main function which sends data serially to the microcontroller

% I want to transfer the data received by the function which handles the microcontroller output here

% plot transferred data on axes here 

提前谢谢你。 :-)

【问题讨论】:

    标签: matlab callback data-transfer matlab-guide


    【解决方案1】:

    我认为你想要的是使用guidata,有一个很好的解释here 和一个帖子here 在同一主题上。您也可以使用 setappdata,但这类似于全局数据。

    【讨论】:

      【解决方案2】:

      我在为程序做 GUI 时遇到了类似的问题。我终于意识到 gui m 文件可以是一个脚本,从而使所有对象句柄都可用。据我了解,也许您可​​以将此应用于您的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-12-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-04-22
        • 2017-05-15
        • 1970-01-01
        相关资源
        最近更新 更多