matlab读取图像并用串口发送Word文档下载推荐.doc
- 文档编号:13161709
- 上传时间:2022-10-07
- 格式:DOC
- 页数:10
- 大小:41KB
matlab读取图像并用串口发送Word文档下载推荐.doc
《matlab读取图像并用串口发送Word文档下载推荐.doc》由会员分享,可在线阅读,更多相关《matlab读取图像并用串口发送Word文档下载推荐.doc(10页珍藏版)》请在冰豆网上搜索。
gui_State.gui_Callback=str2func(varargin{1});
end
ifnargout
[varargout{1:
nargout}]=gui_mainfcn(gui_State,varargin{:
});
else
gui_mainfcn(gui_State,varargin{:
functionserial_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);
strRec'
strRec);
numRec'
numRec);
numSend'
numSend);
isShow'
isShow);
isStopDisp'
isStopDisp);
isHexDisp'
isHexDisp);
isHexSend'
isHexSend);
guidata(hObject,handles);
functionvarargout=serial_communication2_OutputFcn(hObject,eventdata,handles)
varargout{1}=handles.output;
functioncom_Callback(hObject,~,handles)
functioncom_CreateFcn(hObject,eventdata,handles)
ifispc&
isequal(get(hObject,'
BackgroundColor'
),get(0,'
defaultUicontrolBackgroundColor'
))
set(hObject,'
'
white'
functionrate_Callback(hObject,eventdata,handles)
functionrate_CreateFcn(hObject,eventdata,handles)
functionjiaoyan_Callback(hObject,eventdata,handles)
functionjiaoyan_CreateFcn(hObject,eventdata,handles)
functiondata_bits_Callback(hObject,eventdata,handles)
functiondata_bits_CreateFcn(hObject,eventdata,handles)
functionstop_bits_Callback(hObject,eventdata,handles)
functionstop_bits_CreateFcn(hObject,eventdata,handles)
functionstart_serial_Callback(hObject,eventdata,handles)
%【打开/关闭串口】按钮的回调函数
%打开串口,并初始化相关参数
%%若按下【打开串口】按钮,打开串口
ifget(hObject,'
value'
)
%%获取串口的端口名
com_n=sprintf('
com%d'
get(,'
%%获取波特率
rates=[120024004800960019200384004300056000576001152009216001036800];
baud_rate=rates(get(handles.rate,'
%%获取校验位设置
switchget(handles.jiaoyan,'
case1
jiaoyan='
none'
case2
odd'
case3
even'
end
%%获取数据位个数
data_bits=5+get(handles.data_bits,'
%%获取停止位个数
stop_bits=get(handles.stop_bits,'
%%创建串口对象
scom=serial(com_n);
%%配置串口属性,指定其回调函数
set(scom,'
BaudRate'
baud_rate,'
Parity'
jiaoyan,'
DataBits'
...
data_bits,'
StopBits'
stop_bits,'
InputBufferSize'
1638400,'
OutputBufferSize'
1638400,'
BytesAvailableFcnCount'
10,...
'
BytesAvailableFcnMode'
'
byte'
BytesAvailableFcn'
{@bytes,handles},...
TimerPeriod'
0.05,'
timerfcn'
{@dataDisp,handles});
%%将串口对象的句柄作为用户数据,存入窗口对象
set(handles.figure1,'
UserData'
scom);
%%尝试打开串口
try
fopen(scom);
%打开串口
catch%若串口打开失败,提示“串口不可获得!
”
msgbox('
串口不可获得!
set(hObject,'
0);
%弹起本按钮
return;
%%打开串口后,允许串口发送数据,清空接收显示区,点亮串口状态指示灯,
%%并更改本按钮文本为“关闭串口”
set(handles.period_send,'
Enable'
on'
%启用【自动发送】按钮
set(handles.manual_send,'
%启用【手动发送】按钮
set(handles.xianshi,'
string'
%清空接收显示区
set(handles.activex1,'
1);
%点亮串口状态指示灯
set(hObject,'
String'
关闭串口'
%设置本按钮文本为“关闭串口”
else%若关闭串口
%%停止并删除定时器
t=timerfind;
if~isempty(t)
stop(t);
delete(t);
%%停止并删除串口对象
scoms=instrfind;
stopasync(scoms);
fclose(scoms);
delete(scoms);
%%禁用【自动发送】和【手动发送】按钮,熄灭串口状态指示灯
set(handles.period_s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 读取 图像 并用 串口 发送