MATLAB 내에서 전역 변수를 사용하지 않고 콜백에서 데이터를 수신하고 싶습니다. 이것은 GUI 프로그래밍을위한 것이 아니라 rossubscriber
을 사용하기위한 것입니다.콜백에서 데이터 가져 오기
function [mySub] = myFunction(cloudTopic)
testHandle.a = 0;
mySub = rossubscriber(cloudTopic,{@mySub_CB,testHandle}, 'BufferSize', 30);
end
function mySub_CB(src, msg, objHandle)
objHandle.a = objHandle.a + 1
end
내가
참고 매스 웍스 문서에이 글을 읽을 때문에 : 전역을 사용하는 외에 콜백에서 기능을 정보를 추출하는 다른 방법이 있습니다 나는 다음과 같은 노력했다. 예를 들어 콜백 함수에 추가 인수로 핸들을 전달할 수 있습니다. 콜백 함수를 정의하는 방법에 대한 자세한 내용은 콜백 정의 설명서를 참조하십시오.
불행히도 이것은 작동하지 않습니다. testHandle이 업데이트되지 않고 1이 계속 표시됩니다. 이 일을 올바르게하는 방법? :) testHandle
이므로