Передача данных из функции в функцию обратного вызова в графическом интерфейсе в MATLAB
У меня есть графический интерфейс в MATLAB (созданный с помощью 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
Заранее спасибо.:-)
2 ответа
Я думаю, что вы хотите использовать guidata
здесь есть очень хорошее объяснение и пост на ту же тему. Вы также можете использовать, setappdata
, но это похоже на глобальные данные.
У меня была похожая проблема при создании графического интерфейса для программы. Наконец-то я понял, что графический файл gui может быть скриптом, что делает доступными все дескрипторы объекта. Из того, что я понимаю, может быть, вы могли бы применить это к вашей проблеме.