matlab串口程序代码,MATLAB实现串口调试助手源程序

function varargout = serial_communication(varargin)

%   作者:罗

%   功能;串口收发

%   版本:20101103 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, e

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值