function varargout = serial_communication2(varargin) % 作者:罗华飞 % 功能;串口收发 % 版本:20101103 V2.0 gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @serial_communication2_OpeningFcn, ... 'gui_OutputFcn', @serial_communication2_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
function
serial_communication2_OpeningFcn(hObject,
eventdata,
handles, varargin) handles.output = hObject; warning('off');
javaFrame = get(hObject, 'JavaFrame');
javaFrame.setFigureIcon(javax.swing.ImageIcon('icon.jpg')); %% 初始化参数
hasData = false; %表征串口是否接收到数据
isShow = false; %表征是否正在进行数据显示,即是否正在执行函数dataDisp
isStopDisp = false; %表征是否按下了【停止显示】按钮 isHexDisp = false; %表征是否勾选了【十六进制显示】 isHexSend = false; %表征是否勾选了【十六进制发送】 numRec = 0; %接收字符计数 numSend = 0; %发送字符计数 strRec = ''; %已接收的字符串
%% 将上述参数作为应用数据,存入窗口对象内 setappdata(hObject, 'hasData', hasData); setappdata(hObject, 'strRec', strRec); setappdata(hObject, 'numRec', numRec); setappdata(hObject, 'numSend', numSend);
setappdata(hObject, 'isShow', isShow); setappdata(hObject, 'isStopDisp', isStopDisp); setappdata(hObject, 'isHexDisp', isHexDisp); setappdata(hObject, 'isHexSend', isHexSend); guidata(hObject, handles); function
varargout
=
serial_communication2_OutputFcn(hObject,
eventdata, handles)
varargout{1} = handles.output;
function com_Callback(hObject, ~, handles)
function com_CreateFcn(hObject, eventdata, handles) if
ispc
&&
isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function rate_Callback(hObject, eventdata, handles)
function rate_CreateFcn(hObject, eventdata, handles) if
ispc
&&
isequal(get(hObject,'BackgroundColor'),
Matlab GUI设计学习手记(第二版) 串口例程程序



