0

我在 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 

先感谢您。:-)

4

2 回答 2

1

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

于 2013-06-13T14:51:23.667 回答
0

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

于 2013-06-13T17:32:20.550 回答