- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Matlab控件回调函数编写和软件调试
Matlab控件回调函数编写和软件调试
Matlab控件回调函数编写和软件调试
一、引言
在完成了遥控原理Matlab程序实现、可视化界面设计和控件使用之后,本篇讲述第三大模块:控件回调函数的编写和软件的调试。
控件回调函数的编写和软件的调试是个实践性很强的工作,需要不断的实践与摸索,建议读者对照源代码Telecommand_demo.m阅读本篇,细细体会各控件之间的逻辑关系,并按照文中提示自己上机调试。
二、预备工作
在正式开始编写各控件的回调函数之前,应当首先完成如下预备工作:
1.程序初始化完善
程序初始化的工作,是在主函数Telecommand_demo中完成,需要在程序自动生成的源代码基础上增加一部分语句,完善程序的初始化功能。
完善后的主函数Telecommand_demo如下:
function varargout = Telecommand_demo(varargin)
global handles % 设定句柄handles为全局变量
if nargin == 0
fig = openfig(mfilename,'reuse');
set(fig,Color,[1 1 0.76], 'Name', '遥控系统原理及工作过程演示');
% 背景颜色与图形名字的设定
handles = guihandles(fig);
guidata(fig, handles);
if nargout 0
…… (该部分为程序自动生成,故此处省略)
end
程序中有注释的部分均为添加的指令。其中,设定句柄为全局变量,以便控件之间信息的获取与传递,这是GUIDE程序设计中一项重要的技巧,将在下文重点讲述。
2.控件pushbutton_step回调函数pushbutton_step_Callback
运行此时的程序Telecommand_demo,其界面只提供“单步执行”、“自动演示”与“退出程序”三个指令选项,必须首先进入“单步执行”的界面进行回调函数的编写,故应当首先编写控件pushbutton_step 的回调函数pushbutton_step_Callback。
显然pushbutton_step的回调函数功能很简单,即:显示单步执行的控件“开始”、“发送”、“接收”、“执行”,隐藏控件“单步执行”、“自动演示”与“退出程序”。基本方法是:利用handles访问相应控件的句柄,并通过set语句进行相应属性的设置。
控件pushbutton_step回调函数编写如下:
function varargout = pushbutton_step_Callback(h, eventdata, handles, varargin)
set(handles.pushbutton_step, 'Visible', 'off', 'Userdata',[0 0 0 0 0 0 0])
% 将“单步执行”控件隐藏,并给其属性Userdata赋初值[0 0 0 0 0 0 0]
set(handles.pushbutton_continous, 'Visible', 'off') % 将“自动演示”控件隐藏
set(handles.pushbutton_exit, 'Visible', 'off') % 将“退出程序”控件隐藏
set(handles.popupmenu_NO, 'Userdata',[0 0]) % 初始化控件popupmenu_NO的用户数值Userdata
set(handles.pushbutton_start, 'Visible', 'on') % 显示控件“开始”、“发送”、“接收”、“执行”
set(handles.pushbutton_send, 'Visible', 'on')
set(handles.pushbutton_receive, 'Visible', 'on')
set(handles.pushbutton_do, 'Visible', 'on')
在Matlab的命令窗口输入“help set”,系统将罗列出set语句的所有基本语法,其最为常用的句式是:SET(H,‘PropertyName’,PropertyValue),H表示句柄,PropertyName表示属性名称,PropertyValue则为赋给PropertyName的属性值。这段程序显然就是通过句柄访问控件,并将属性值on(或off)赋给属性Visible,实现控件的隐藏及显示功能。
除此之外,还有将数组[0 0 0 0 0 0 0]与[0 0]分别赋给控件pushbutton_step与控件popupmenu_NO的属性Userdata(用户数据),主要
您可能关注的文档
- 《青年创业当自强》中马云演讲话.doc
- 《面试官真切感受》个人整理要点.doc
- 《领导干部法律知识读本》 第七章 劳动与社会保障法律制度 练习答案.doc
- 《领导干部法律知识读本》 第九章 诉讼与非诉讼程序法律制度 练习答案2.doc
- 《食物消化》教学案例.doc
- 『 影 视 交 流 』 - 全国电影下载都在这里了.doc
- 《餐饮企业管理和运作》试题库.doc
- 『闲闲书话』川菜发展史断裂和背景.doc
- 【2011美食嘉年华推荐】超全营养早餐食谱.doc
- 【NOKIA常用命令】.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)