0

プッシュボタン コールバックと 2 つの編集ボックスを備えた MATLAB (GUIDE を使用して作成) に GUI があります。最初に編集ボックスに値を入力してから、プッシュボタンを押すと、一対の軸に図がプロットされます。

このプッシュボタンを押すと、.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-file をスクリプトにすることができるため、すべてのオブジェクト ハンドルが使用可能になることに気付きました。私が理解していることから、これをあなたの問題に適用できるかもしれません。

于 2013-06-13T17:32:20.550 に答える