function varargout = PJSerialCOM(varargin)
% PJSERIALCOM M-file for PJSerialCOM.fig
% PJSERIALCOM, by itself, creates a new PJSERIALCOM or raises the existing
% singleton*.
%
% H = PJSERIALCOM returns the handle to a new PJSERIALCOM or the handle to
% the existing singleton*.
%
% PJSERIALCOM('CALLBACK',hObject,eventData,handles,...) calls the
local
% function named CALLBACK in PJSERIALCOM.M with the given input arguments.
%
% PJSERIALCOM('Property','Value',...) creates a new PJSERIALCOM or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before PJSerialCOM_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to PJSerialCOM_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help PJSerialCOM
% Last Modified by GUIDE v2.5 26-May-2012 18:45:14 % Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct( 'gui_Name' 'gui_Singleton' 'gui_OpeningFcn'
'gui_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
% --- Executes just before PJSerialCOM is made visible.
function PJSerialCOM_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
mfilename, ... gui_Singleton, ...
, @PJSerialCOM_OpeningFcn,
@PJSerialCOM_OutputFcn, [] , ... []);
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to PJSerialCOM (see VARARGIN)
% Choose default command line output for PJSerialCOM handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes PJSerialCOM wait for user response (see UIRESUME) % uiwait(handles.figPJSerialCOM); set(handles.btnClosePort, 'Enable' , 'off' ); set(handles.btnSendData, 'Enable' , 'Off' );
setappdata(handles.figPJSerialCOM, 'u' , '' );
% --- Outputs from this function are returned to the command line.
function varargout = PJSerialCOM_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure varargout{1} = handles.output;
% --- Executes on selection change in pumComPort. function pumComPort_Callback(hObject, eventdata, handles)
% hObject handle to pumComPort (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns pumComPort contents as cell array
% contents{get(hObject,'Value')} returns selected item from
pumComPort % --- Executes during object creation, after setting all properties. function
pumComPort_CreateFcn(hObject, eventdata, handles) % hObject handle to pumComPort (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. get(0, 'defaultUicontrolBackgroundColor' set(hObject, 'BackgroundColor' , 'white' );
end
% --- Executes on selection change in pumBaudRate. function
pumBaudRate_Callback(hObject, eventdata, handles)
if ispc && isequal(get(hObject, 'BackgroundColor' ),
))
% hObject handle to pumBaudRate (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns pumBaudRate contents as cell
array
% contents{get(hObject,'Value')} returns selected item from
pumBaudRate % --- Executes during object creation, after setting all properties.
function pumBaudRate_CreateFcn(hObject, eventdata, handles)
% hObject handle to pumBaudRate (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject, 'BackgroundColor' ), get(0,
'defaultUicontrolBackgroundColor' )) set(hObject, 'BackgroundColor' , 'white' );
end
% --- Executes on selection change in pumDataBits. function
pumDataBits_Callback(hObject, eventdata, handles)
% hObject handle to pumDataBits (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns pumDataBits contents as cell
array
% contents{get(hObject,'Value')} returns selected item from
pumDataBits % --- Executes during object creation, after setting all properties.
function pumDataBits_CreateFcn(hObject, eventdata, handles)
% hObject handle to pumDataBits (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called % Hint:
popupmenu controls usually have a white background on Windows. % See ISPC
and COMPUTER.
if ispc && isequal(get(hObject, get(0, 'defaultUicontrolBackgroundColor' set(hObject, 'BackgroundColor'
end
% --- Executes on selection change in pumStopBits.
function pumStopBits_Callback(hObject, eventdata, handles)
% hObject handle to pumStopBits (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB 'BackgroundColor' )) , 'white' ); ),
% handles structure with handles and user data (see GUIDATA) % Hints:
contents = get(hObject,'String') returns pumStopBits contents as cell array
% contents{get(hObject,'Value')} returns selected item from
pumStopBits
% --- Executes during object creation, after setting all properties. function
pumStopBits_CreateFcn(hObject, eventdata, handles)
% hObject handle to pumStopBits (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject, 'BackgroundColor' ),
get(0, 'defaultUicontrolBackgroundColor' )) set(hObject, 'BackgroundColor' ,
'white' );
end
% --- Executes on selection change in pumParity.
function pumParity_Callback(hObject, eventdata, handles)
% hObject handle to pumParity (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') array
% contents{get(hObject,'Value')} % --- Executes during
object creation, after setting all properties. function pumParity_CreateFcn(hObject, eventdata, handles)
% hObject handle to pumParity (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called % Hint:
popupmenu controls usually have a white background on Windows. % See ISPC
and COMPUTER.
if ispc && isequal(get(hObject, 'BackgroundColor' ),
get(0, 'defaultUicontrolBackgroundColor' )) set(hObject, 'BackgroundColor' ,
'white' );
end % --- Executes on selection change in pumFlowControl. function
pumFlowControl_Callback(hObject, eventdata, handles)
% hObject handle to pumFlowControl (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: contents = get(hObject,'String') returns pumFlowControl contents
returns pumParity contents returns selected item from as cell pumParity
as cell array
% contents{get(hObject,'Value')} returns selected item from
pumFlowControl % --- Executes during object creation, after setting all properties. function pumFlowControl_CreateFcn(hObject, eventdata, handles)
% hObject handle to pumFlowControl (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: popupmenu controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject, 'BackgroundColor' ), get(0,
'defaultUicontrolBackgroundColor' )) set(hObject, 'BackgroundColor' , 'white' );
end
function edtRecvData_Callback(hObject, eventdata, handles)
% hObject handle to edtRecvData (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edtRecvData as text
% str2double(get(hObject,'String')) returns contents of edtRecvData
as a double
% --- Executes during object creation, after setting all properties. function
edtRecvData_CreateFcn(hObject, eventdata, handles)
% hObject handle to edtRecvData (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject, 'BackgroundColor' ),
get(0, 'defaultUicontrolBackgroundColor' )) set(hObject, 'BackgroundColor' , 'white' );
end function edtSendData_Callback(hObject, eventdata, handles)
% hObject handle to edtSendData (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edtSendData as text
% str2double(get(hObject,'String')) returns contents of edtSendData
as a double
% --- Executes during object creation, after setting all properties. function
edtSendData_CreateFcn(hObject, eventdata, handles) % hObject handle to edtSendData (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject, 'BackgroundColor' ), get(0,
'defaultUicontrolBackgroundColor' ))
set(hObject, 'BackgroundColor' , 'white' );
end % --- Executes on button press in btnOpenPort.
function btnOpenPort_Callback(hObject, eventdata, handles)
% hObject handle to btnOpenPort (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
comPort=get(handles.pumComPort, 'String' );
handles.u_sCom=serial(comPort{get(handles.pumComPort, 'Value'
baudRate=get(handles.pumBaudRate, set(handles.u_sCom, 'BaudRate' te,
'Value' )}));
dataBits=get(handles.pumDataBits,
set(handles.u_sCom, 'DataBits' ts,
'Value' )}));
stopBits=get(handles.pumStopBits,
set(handles.u_sCom, 'StopBits' ts,
'Value' )})); parity=get(handles.pumParity, if strcmp(parity, '?T' )==1
set(handles.u_sCom, 'Parity' else
'String' );
,str2double(baudRate{get(handles.pumBaudRa 'String' );
,str2double(dataBits{get(handles.pumDataBi 'String' );
,str2double(stopBits{get(handles.pumStopBi
'String' );
, 'none' );
if strcmp(parity,
set(handles.u_sCom, else
if strcmp(parity, set(handles.u_sCom, else
set(handles.u_sCom, end '??D £?e'==i
'Parity' , 'odd' );
'??D £?e'==i
'Parity' , 'even' )
'Parity' , 'none' )
end end
flowControl=get(handles.pumFlowControl,
if strcmp(flowControl, '?T' )==1 set(handles.u_sCom, 'FlowControl' else
'String' ); , 'none' );
if strcmp(flowControl, set(handles.u_sCom, else
o 2?t' )==1
'FlowControl' , 'hardware' );
if strcmp(flowControl, set(handles.u_sCom, else
set(handles.u_sCom,
「?t')==1
'FlowControl' , 'software' );
'FlowControl' , 'none' );
)});
fopen(handles.u_sCom); set(handles.txtStatus, set(hObject, 'Enable'
set(handles.btnClosePort, %
handles.u_timer=timer('TimerFcn',{@ReadCom,handles},'Period',1,'Executi
onMode','fixedrate');
guidata(hObject,handles);
set(handles.btnSendData, 'Enable' , 'On' );
% function ReadCom(obj,eventdata,handles)
% set(handles.txtStatus,'String','?y? u ? ae ? e y?Y');
% readString=fread(handles.u_sCom,10);
% set(handles.edtRecvData,'String',readString);
% set(handles.txtStatus,'String','? oe ? e y?Y3 e 1|');
% --- Executes on button press in btnClosePort.
function btnClosePort_Callback(hObject, eventdata, handles)
% hObject handle to btnClosePort (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB %
handles structure with handles and user data (see GUIDATA)
fclose(handles.u_sCom); % stop(handles.u_timer);
% delete(handles.u_timer); handles.u_sCom=0; guidata(hObject,handles);
set(handles.txtStatus, set(handles.btnOpenPort, set(handles.btnSendData,
set(hObject, 'Enable' % --- Executes on button press in btnSendData.
function btnSendData_Callback(hObject, eventdata, handles)
% hObject handle to btnSendData (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)
sendString=get(handles.edtSendData, 'String' );
fwrite(handles.u_sCom,sendString);
set(handles.txtStatus, 'String' set(handles.edtSendData, 'String'
% start(handles.u_timer);
,'7 ? ^e y?Y3 e 1): , '' ); function BytesAvailableFcnCallback(t,eventdata,handles)
readString=fread(handles.u_sCom,1);
u=getappdata(handles.figPJSerialCOM, 'u' ); end
end end
set(handles.u_sCom,
set(handles.u_sCom,
set(handles.u_sCom,
set(handles.u_sCom, set(handles.u_sCom,
les});
'Timeout' ,1); 'InputBufferSize' ,1024); 'BytesAvailableFcnMode' 'BytesAvailableFcnCount' 'BytesAvailableFcn' , 'byte' ); ,1); ,{@BytesAvailableFcnCallback,hand
'Stri ng' ,'‘ 6 ?a??? u 3e 1|'); , 'off' ); 'Enable' , 'On' );
'String' , '1? ±????u 3e 1|' ); 'Enable'
, 'On' );
'Enable' , 'Off' );
, 'Off' );