PC与51单片机串口通信(3)
gui_mainfcn(gui_State, varargin{:}); end
% --- Executes just before chuankoutongxingmatlab is made visible.
function chuankoutongxingmatlab_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject; global data; global port; try
%设置串口 handles.s=serial('COM7','BaudRate',4800,'Parity','none',...
'DataBits',8,'StopBits',1);%建立串口对象
port=handles.s;
set(handles.s,'OutputBufferSize',512);%设置输出缓冲区大小 set(handles.s,'InputBufferSize',1024);%设置输入缓冲区大小
set(handles.s,'BytesAvailableFcnMode','byte');%设置BytesAvailableFcnMode属性 set(handles.s,'BytesAvailableFcnCount',1);
set(handles.s,'BytesAvailableFcn',{@mycallback,handles});
%定义Bytes-Available事件回调函数
fopen(handles.s); catch
%进行出错处理 errmsg = lasterr;
errordlg(['不能打开串口: COM7',char(10),...
PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
'请检查串口连接或串口已打开'],'串口打开错误');
rethrow(lasterror); end
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line. function varargout = chuankoutongxingmatlab_OutputFcn...
(hObject, eventdata, handles)
varargout{1} = handles.output;
% --- Executes on button press in pushbutton2.
function pushbutton2_Callback(hObject, eventdata, handles) delete(handles.figure1);%关闭对话框
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles) global port; global data;
data=get(handles.edit2,'string'); fprintf(port,data);
function edit2_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),...
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function edit1_Callback(hObject, eventdata, handles)
PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
% --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),...
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function mycallback(obj,event,handles)%接收事件回调函数 global rcv; global str;
if handles.s.BytesAvailable>0
rcv=fread(handles.s, handles.s.BytesAvailable,'uint8');%数据读取 str=sprintf('%3X',rcv);%以大写十六进制ASCII码显示,每个占三位 set(handles.edit1,'String',str); end
% --- Executes during object deletion, before destroying properties. function figure1_DeleteFcn(hObject, eventdata, handles) fclose(handles.s);%关闭串口连接 delete(handles.s);%删除串口对象 clear all;%清除所有
PC与51单片机串口通信。包括单片机内运行的程序,及MATLAB调试助手简易程序等!
三、小结
PC与单片机间的串口通信的科研训练,要求实验时能实现简单的通信工作,对于从未具体操作过相关实物的我来说收获很大。
首先,对51系列单片机的通用部分及具体不同的产品差异有了一定了解。通过查阅具体单片机产品手册,可得知其中通用及差异部分,为实现目的可以有不同的方法,不同单片机也存在着自己独有的优势。
由于对MATLAB有了一点接触,感到其功能十分强大,对许多问题实现和解决较为便捷。短短几天的了解,为我进一步学习打下了基础。同时,也进一步熟悉Keil uVision4的部分功能。
本次训练中收获许多对实际问题解决方法,发现程序编译没有问题到能真正实现所要功能还有很长一段路。期间,需要不断调试,一点一点找出错误。而且,需要对不同情况进行测试,直到没有问题位置。所以这次的对具体问题的训练,让我获益匪浅,会让我以后的学习简单很多。接下来我会继续学习相关知识,为毕业设计做好准备。
最后,感谢杨老师在此次科研训练中给予我的巨大帮助!
…… 此处隐藏:1052字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [专业资料]《蜜蜂之家》教学反思
- [专业资料]过去分词作定语和表语1
- [专业资料]苏州工业园区住房公积金贷款申请表
- [专业资料]保安管理制度及处罚条例细则
- [专业资料]2018年中国工程咨询市场发展现状调研及
- [专业资料]2015年电大本科《学前教育科研方法》期
- [专业资料]数字信号处理实验 matlab版 离散傅里叶
- [专业资料]“十三五”重点项目-虎杖白藜芦醇及功
- [专业资料]2015-2020年中国竹木工艺市场需求及投
- [专业资料]国际贸易理论与实务作业五:理论案例分
- [专业资料]财政部修订发布事业单位会计制度
- [专业资料]BCA蛋白浓度测定试剂盒(增强型)
- [专业资料]工程进度总计划横道图模板(通用版)
- [专业资料]七年级地理同步练习(天气与气候)
- [专业资料]X光安检机介绍火灾自动报警系统的组成
- [专业资料]衢州市人民政府办公室关于印发衢州市区
- [专业资料]经济全球化及其影响[1]
- [专业资料]质粒DNA限制性酶切图谱分析
- [专业资料]国家安全人民防线工作“六项”制度
- [专业资料]劳动力投入计划及保证措施
- 电子账册联网监管培训手册
- 人教版语文七年级上第1课《在山的那边
- 对我区担保行业发展现状的思考与建议
- 平面四边形网格自动生成方法研究
- 2016年党课学习心得体会范文
- 如何设置电脑定时关机
- 全球最美人妖排行榜新鲜出炉
- 社会实践调查报告及问卷
- Visual Basic习题集
- 《鱼我所欲也》课件2
- 浙江省会计从业资格考试试卷
- 全遥控数字音量控制的D 类功率放大器资
- 鞍钢宪法与后福特主义
- 电表的改装与校准实验报告(1)
- 2014年高考理科数学真题解析分类汇编:
- Windows 7 AIK 的使用
- 风电场全场停电事故应急处置方案
- 化工原理选填题题库(下)
- 关于产学研合作教育模式的学习与思考
- 西安先锋公馆项目前期定位报告




