当前位置:文档之家› (完整版)MATLAB串口通信设计源码

(完整版)MATLAB串口通信设计源码

(完整版)MATLAB串口通信设计源码
(完整版)MATLAB串口通信设计源码

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' );

相关主题
文本预览
相关文档 最新文档