function varargout = serialdwj(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @serialdwj_OpeningFcn, ...
'gui_OutputFcn', @serialdwj_OutputFcn, ...
'gui_LayoutFcn', [], ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
end
function serialdwj_OpeningFcn(hObject, eventdata, handles, varargin)
handles.timer1 = timer('Period',1.0,'ExecutionMode','FixedRate', 'TimerFcn',
@pushbutton2_Callback,handles});
%定时器
handles.output = hObject;
guidata(hObject, handles);
end
function timercallback(obj, event, handles)
set(handles.edit1, 'String', datestr(now, 'HH:MM:SS'));
axes(handles.axes1);
k=rand(2)*50;
line(k(1,:),k(2,:));
end
function varargout = serialdwj_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
end
set(handles.pushbutton1,'String','start');
start(handles.timer1);
end
%问题 若是单击来触发此事件 则显示正确 不会产生新的figure
%若是使用定时器事件来触发此事件 则产生新的figure 使结果显示在界面之外
%
function pushbutton2_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
set(handles.edit1, 'String', datestr(now, 'HH:MM:SS'));
axes(handles.axes1);
%cla; %若是使用此语句可以实现更新 但是实在新的figure中更新显示的
k=rand(2)*50;
line(k(1,:),k(2,:));
end
.
function figure1_DeleteFcn(hObject, eventdata, handles)
stop(handles.timer1);
delete(handles.timer1);
end
function edit1_Callback(hObject, eventdata, handles)
end
.
function edit1_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
end
function axes1_CreateFcn(hObject, eventdata, handles)
end
问题是:
handles.timer1 = timer('Period',1.0,'ExecutionMode','FixedRate', 'TimerFcn',
@timercallback,handles});
定时器如何调用函数 才可以诗数据显示在axes1中而不是新的figure中?
是axes1的属性问题吗?
原本自己是想来拼接图形的 以后拼接的部分继续显示在axes1中 这样可以显示完整的图形
使用定时器是来定时读取串口数据的 每接受一个数据就和上一数据连成直线 显示在坐标系中
[本帖最后由 mooni 于 2009-6-10 11:52 编辑]