资源简介

最好用的MATLAB编写的调试助手,可以很好地实现串口数据的收发通信!

资源截图

代码片段和文件信息

function varargout = serial_communication(varargin)
%   作者:***
%   功能:串口调试助手
%   版本:20180802 V2.0
gui_Singleton = 1;
gui_State = struct(‘gui_Name‘       mfilename ...
                   ‘gui_Singleton‘  gui_Singleton ...
                   ‘gui_OpeningFcn‘ @serial_communication_OpeningFcn ...
                   ‘gui_OutputFcn‘  @serial_communication_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_communication_OpeningFcn(hobject eventdata handles varargin)
handles.output = hobject;
warning off all;
%% 改变窗口左上角的图标为icon.jpg
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 = ‘‘;    %已接收的字符串
%读取图片数据,只在第一次运行时读取
pathstr = fileparts(which(mfilename));
if exist([pathstr ‘\lamb.mat‘] ‘file‘) == 2
    load([pathstr ‘\lamb.mat‘]);
else
    openData = imread(‘green.jpg‘);
    closedData = imread(‘red.jpg‘);
    save lamb.mat openData closedData;
end
%% 将上述参数作为应用数据,存入窗口对象内
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);
setappdata(hobject ‘openData‘ openData);
setappdata(hobject ‘closedData‘ closedData);
%初始化串口状态指示灯,串口灯默认为关闭状态
set(handles.lamb ‘cdata‘ closedData); 

guidata(hobject handles);

function varargout = serial_communication_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‘) get(0‘defaultUicontrolBackgroundColor‘))
    set(hobject‘BackgroundColor‘‘white‘);
end

function jiaoyan_Callback(hobject eventdata handles)

function jiaoyan_CreateFcn(hobject eventdata handles)
if ispc && isequal(get(hobject‘BackgroundColor‘) get(0‘defaultUicontrolBackgroundColor‘))
    set(hobject‘BackgroundColor‘‘white‘);
end

function data_bits_Callback(hobject eventdata handles)


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2358  2008-12-22 09:29  icon.jpg
     文件        7966  2014-08-19 00:21  lamb.mat
     文件        9928  2014-08-19 00:23  serial_communication.fig
     文件       13987  2018-08-02 21:24  serial_communication.m
     目录           0  2018-08-02 21:21  素材\
     文件       11056  2014-08-19 00:21  素材\green.jpg
     文件       11255  2014-08-19 00:21  素材\red.jpg
     文件        5120  2018-08-02 21:21  素材\Thumbs.db

评论

共有 条评论