matlab串口接收+GUI图形编程学习笔记

一、基本绘图程序

clear  
s=serial('com5') %选择串口号  
set(s,'BaudRate',115200,'StopBits',1,'Parity','none');%设置波特率  停止位  校验位  
fopen(s)for i = 1:300 %循环读取 
  out=fread(s,26,'uint8');%读取 数据个数 与 类型  
  plot(x1,y1,x2,y2,x3,y3,x4,y4);%绘图  
  axis([-2000,2000,0,70000]);%设置x,y轴坐标范围  
  pause(0.01);%延时一小段时间,必须具备  
  i=i+1;
end
fclose(s)  
 

二、GUI界面的整体布局设计

利用MATLAB的GUI界面设计程序界面和功能,利用MATLAB R2014a来实现设计,打开MATLAB后:

1、在命令行窗口输入”guide”调出GUIDE工具

2、直接选择默认方式,勾选“将新图形另存为”,选择自己要存的位置,然后点击OK。

3、MALTAB的GUI主要由两个文件,当设置好GUIDE时点击保存,这时将在当前路径自动产生两个名字相同的文件,但扩展标识符不同,一个为.fig文件,一个为.m文件,.fig主要是GUI图形文件,和GUIDE设计的图像相同,.m文件为程序文件,所有事件响应和计算功能都在这里实现。
可以在左侧的控件栏拖曳控件到右侧网格中

4、控件设置,右击控件点“Property Inspector”或双击控件

一般仅设置Tag选项和String选项。其中String选项在按钮控件中就是GUI显示时的字符。Tag属性较为重要,在GUI编程时控件的索引主要利用Tag选项的属性并且在GUI生成回调函数时候也是由Tag属性的值命名的。这里将“打开串口”按钮控件的String设置为“打开串口”,tag设置为pbOpenSerial。

5、其他设置可重复以上步骤来放置和设置各个控件,都所有控件设置好之后,要保存一下,然后点击右侧的“.m”文件可以看到相对应的控件的程序设计区。

MATLAB的按钮以及各种控件事件响应是依靠一种叫做回调函数(Callback Function)来实现的,自动生成的M文件中已经自动做好回调函数的名称和参数了,我们需要做的就是在其中添加你要进行的处理。

例如:我们要在鼠标单击按钮“打开串口”时进行一系列的串口初始化动作,这时右键单击“打开串口按钮”

按钮的Tag为pbOpenSerial,所以GUIDE自动生成的回调函数名为pbOpenSerial_Callback,函数有3个参数

·hObject是当前控件对象,即打开串口按钮对象(面向对象技术中的概念),索引或设置当前对象(打开串口按钮对象)时只需要引用hObject就可以了。例如:改变当前空间的可见性,只需调用set(hObject,'Visable','off');打开串口对象在单击该按钮时即会隐藏。

·eventdata我暂时没有用到,所以暂且不管他

·handles我理解是整个GUI界面的索引句柄,所有GUI界面上的控件都可以通过他来索引,几乎有全局作用域,例如在打开串口按钮的回调中要将关闭串口按钮显示出来,可以这样调用:

set(handles. pbOpenSerial,'Visable','on');就可以了!

这里handles还有一个作用就是在不同控件间进行参数传递,只要对handle的成员变量进行赋值就可以了。当然后面要调用一下guidata(hObject,handles);将变量保存。

https://blog.csdn.net/u013381608/article/details/48317225

猜你喜欢

转载自blog.csdn.net/seek97/article/details/89416094