预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共11页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

这是我很久之前写串口通信程序时编的网上这写资料很少我是看着MATLAB的帮助文档自己一点点写的虽然最后放弃了matlab上位机程序的方案但是还是整理了一下之前的一些收获写下以下的说明。编译环境:MATLAB2009a1打开GUIDE工具点击红圈中的GUIDE图标。2直接利用默认设置点OK即可3在控件篮拖拽控件到如下图的形式4进行控件设置右击控件点“PropertyInspector”如图一般仅设置Tag选项和String选项。其中String选项在按钮控件中就是GUI显示时的字符。Tag属性较为重要在GUI编程时控件的索引主要利用Tag选项的属性并且在GUI生成回调函数时候也是由Tag属性的值命名的。这里将“打开串口”按钮控件的String设置为“打开串口”tag设置为pb_OpenSerialPort。具体控件的设置和关于GUI的编程还是看下帮助(截图部分)或找本这方面的书看一下。这里对我即将用的功能简述一下MALTAB的GUI主要由两个文件当设置好GUIDE时点击保存这时将在当前路径自动产生两个名字相同的文件但扩展标识符不同一个为.fig文件一个为.m文件.fig主要是GUI图形文件和GUIDE设计的图像相同.m文件为程序文件所有事件响应和计算功能都在这里实现。MATLAB的按钮以及各种控件事件响应是依靠一种叫做回调函数(CallbackFunction)来实现的(我理解为和VisualC++中的消息映射C#中的异步委托事件响应一种原理)自动生成的M文件中已经自动做好回调函数的名称和参数了我们需要做的就是在其中添加你要进行的处理。例如:我们要在鼠标单击按钮“打开串口”时进行一系列的串口初始化动作这时右键单击“打开串口按钮”如图则MALAB会自动转向相应的M文件的回调函数的位置。如图这里因为该按钮的Tag为"pb_OpenSerialPort"则GUIDE自动生成的回调函数名即为pb_OpenSerialPort_Callback函数有三个参数hObject是当前控件对象即打开串口按钮对象(面向对象技术中的概念)索引或设置当前对象(打开串口按钮对象)时只需要引用hObject就可以了。例如:改变当前空间的可见性只需调用set(hObject'Visable''off');打开串口对象在单击该按钮时即会隐藏。eventdata我暂时没有用到所以暂且不管他handles我理解是整个GUI界面的索引句柄所有GUI界面上的控件都可以通过他来索引几乎有全局作用域例如在打开串口按钮的回调中要将关闭串口按钮显示出来可以这样调用set(handles.pb_CloseSerialPort'Visable''on');就可以了!这里handles还有一个作用就是在不同控件间进行参数传递只要对handle的成员变量进行赋值就可以了。当然后面要调用一下guidata(hObjecthandles);将变量保存。例如打开串口按钮里面有个数据10需要关闭串口按钮调用可以这样写。%打开串口按钮回调函数中handles.double_vir=10;guidata(hObjecthandles);%关闭串口按钮回调函数中a=handles.double_vir;5进行串口设置参看如下图中的MATLAB帮助串口初始化(主要在打开串口按钮的回调函数中)包括COM端口BaudRateDataBitsStopBitsBytesavailable事件设置主要触发串口响应Bytesavailable事件的条件。BytesAvailableFcnSpecifytheM-filecallbackfunctiontoexecutewhenaspecifiednumberofbytesisavailableintheinputbufferoraterminatorisread即指定当一个确定数量的字节数据(由BytesAvailableFcnCount属性设置)存在输入缓冲区时或一个结束符被读到时执行的m文件的回调函数。BytesAvailableFcnCountSpecifythenumberofbytesthatmustbea