2015-01-22 1 views
1

Matlab에서 하드웨어로부터 지속적인 센서 값을 얻는 함수가 있습니다. 새 값을 사용할 수있는 경우 플래그를 제공하고 이러한 값을 포함하는 변수를 업데이트 할 수 있습니다. 다음은이 함수가 무엇을하는지 모방하는 모조 함수입니다. 도면에 도시 된 바와 같이 I 가이드를 사용하는 GUI를 만들었다Matlab GUI에서 데이터를 지속적으로 업데이트하는 기능입니다. Matlab 함수에서 계속 업데이트되고 있습니다.

function example() 
% Example function to describe functionality of NatNetOptiTrack 

% Hardware initialization,  
% Retriving real time information continuously 

for i = 1:100 %in real time this loop runs for ever 
    data = rand(3,6); 
    % Send the updated data to gui in each iteration 
end 

end 

:

enter image description here

그래서 데이터가 표시되는 컬럼이 잠시 값 XYZ 롤 피치 요 대응 가진 × 6 행렬 행은 객체에 해당합니다.

gui에서이 함수의 연속 업데이트 값을 표시하고 싶습니다. 거기에 내 예제 함수 안에 gui 초기화 할 수 내 루프 내부의 핸들을 사용하여 출력 값을 업데이트 할 수있는 방법이 있나요. 스크립트로 예제 함수 안에 gui 코드를 복사 해 보았습니다. 초기화 할 수는 있었지만 핸들을 인식하지 못했습니다. 또한 단추를 누를 때 명령 창에 현재 값을 표시하려고합니다.

감사

답변

2

GUI를 실행하고 함수를 실행하면 GUI는 사용자가 GUI 그림을 볼 수 처리 할 것을 제공하고 해당 태그/이름을 설정에, 당신이 컨트롤 핸들을 얻을 수 있어야합니다 뭔가 적절한. GUIDE에서 GUI에 대한 속성 관리자를 열고에 HandleVisibility 속성을 설정하고 MyGui (또는 다른 이름)에 태그 속성입니다. 그런 다음 example.m 파일에서 할 대안이 GUI에 example 기능 코드를 복사하는 것입니다

function example() % Example function to describe functionality of NatNetOptiTrack % get the handle of the GUI hGui = findobj('Tag','MyGui'); if ~isempty(hGui) % get the handles to the controls of the GUI handles = guidata(hGui); else handles = []; end % Hardware initialization, % Retriving real time information continuously for i = 1:100 %in real time this loop runs for ever data = rand(3,6); % update the GUI controls if ~isempty(handles) % update the controls % set(handles.yaw,…); % etc. end % make sure that the GUI is refreshed with new content drawnow(); end end 

다음

- 하드웨어 초기화는 당신의 GUI의 _OpeningFcn에 발생할 수와 의사 소통하기 위해 (정기) 타이머를 만들 수 있습니다 하드웨어와 연결하고 GUI에 표시 할 데이터를 가져옵니다.

GUI 버튼을 누를 때 현재 데이터를 표시하는 방법은 GUI 컨트롤의 내용을 fprintf과 함께 명령 줄/창에 쓰면 쉽게 수행 할 수 있습니다. 푸시 버튼이 계속 실행중인 루프를 방해 할 수 있도록 example 함수를 인터럽트 가능하게 만들 필요가 있습니다. 루프의 각 반복 끝에서 실행되는 pause 호출 (특정 밀리 초 동안)을 추가하거나 위의 drawnow 호출을 사용하여이 작업을 수행 할 수 있습니다 (즉, if 문 -. 있도록이 루프의 각 반복에 호출됩니다

위를 시도하고 어떻게되는지

을!
관련 문제