matlab编写上位机 app 句柄 结构体 guide

matlab编写上位机

​ matlab是一款使用十分方便,容易上手的工具。其中功能十分强大,本部分就matlab编写上位机功能做简单教学,方便大家在工作学习中需要的时候能快速上手学习,制作出自己的上位机软件。

​ 本教程具有极速上手,容易理解的特点,纯操作,在操作中理解。希望能给大家带来较好的学习体验。本教程所使用的matlab版本为2018a。

1. matlab介绍

matlab软件打开如图所示。

  • 菜单栏是matlab软件的一些功能菜单,常用的比如运行,断点等功能。

  • 菜单栏下面是当前工作文件夹的路径显示。

  • 工作文件夹是当前文件夹下的所有文件显示。

  • 代码编辑区是查看,编辑代码的区域,在当前窗口编辑好的程序,通过点击菜单栏的运行按钮运行。

  • 命令行窗口是执行matlab相关命令、代码的窗口,比较短的几行代码可以在这里输入然后回车后运行。

  • 变量区或工作区是程序在运行时产生的变量可以在这里查看。

在这里插入图片描述

​ matlab的上位机编写是在guide中进行的,也就是用户图形界面设计编辑器。

2.打开GUIDE

  1. 打开matlab,在命令行输入guide,然后按回车,会弹出如下窗口

在这里插入图片描述

  1. 选择新建GUI,Blank GUI(Default),点击确定,弹出如下窗口

在这里插入图片描述

​ 这就是进行上位机显示窗口设计的编辑器,左侧为相关的组件,比如案件,静态文本,可编辑文本,坐标区等。

3.编写一个简单的绘图App

我们以按照输入幅度,频率绘制正弦波为例,讲解一下相关组件的使用方法。

在这里插入图片描述

  1. 按照上图所示,将相关组件拖到编辑器中,适当调整坐标区大小和各个控件位置。

双击可编辑文本,弹出可编辑文本属性编辑框

在这里插入图片描述

  1. 将属性中的String属性由可编辑文本更改为默认的幅度和频率,比如幅度为3,频率为2

双击按钮,弹出按钮的属性编辑窗口,将按钮的String属性由按钮更改为绘图,将两个静态文本的String属性分别改为振幅频率

在这里插入图片描述

  1. 右键绘图,点击查看回调中的Callback

  1. 弹出保存窗口,将fig文件保存到预定的文件夹中,界面跳转到matlab主界面,代码编辑区弹出fig文件对应的m文件,光标在绘图按键的回调函数处闪烁。我起名为plotSin

在这里插入图片描述

  1. 在绘图按键的回调函数中编写如下代码
t = 0:0.1:50;                       % 时间
A = str2num(handles.edit1.String);  % 获取振幅字符串并将其转换为数字
f = str2num(handles.edit2.String);  % 获取频率字符串并将其转换为数字
y = A*sind(2*pi*f*t);               % 计算正弦波输出
ax = handles.axes1;                 % 获取坐标区句柄
grid on;                            % 打开网格
plot(ax,t,y);                       % 在坐标区中绘图
  • 第一行表示,时间t的取值为从0开始,间隔0.1,一直取到50。即t=[0,0.1,0.2,0.3······49.8,49.9,50];

  • 第二行表示,振幅A的取值为可编辑文本1的取值,handels为本上位机的句柄,edit1为该句柄中的控件,String为该控件的属性。

这样将比较难懂,打一个比方,我们写的这个界面是一个书包,起名字叫handles,书包里面有一个文具盒,起名字叫edit1,也有练习本,起名字叫axes1,文具盒有自己的特征,也就是属性,比如说名字属性是文具盒,也有颜色属性,大小属性等。**‘.’**符号叫做索引符,也就是说你要在书包里面找东西,在东西上面找属性特征,需要用眼睛看着找,这个符号就是起这个作用。

​ 然后通过str2num将字符串转换为数字,即(string to number),因为后面的数学计算需要用到数字格式进行。相当于将写作2,不同的格式用处不同而已。

  • 第三行和第二行类似

  • 第四行为标准正弦波表达式,即

f ( x ) = A s i n ( 2 π f t ) f(x)=Asin(2\pi ft) f(x)=Asin(2πft)

​ 在matlab中sin计算的是弧度值,计算角度三角函数需要使用sind。

  • 第五行表示,找到界面中的坐标区,起名叫ax,因为后面绘图需要在坐标区上绘制,相当于在书包中找到练习本。因为这个界面只有一个坐标区,还好,如果有多个坐标区,这一行就相当与指定在哪一个坐标区中绘图。相当于我们数学画图就需要在书包中找到数学练习册,在数学练习册上画。

  • 第六行表示,在ax坐标区中以t为横坐标,y为纵坐标绘制曲线。

  • 第七行表示,打开网格,相当于在坐标纸,不写这一句,就是坐标纸上没有小格子,写上就是有小格子。

  1. 在matlab菜单栏上编辑器选项卡中点击运行图标。

在这里插入图片描述

  1. 弹出我们编写的ui界面运行结果。点击界面中的绘图按键。

在这里插入图片描述

我们也可以更改振幅和频率重新点击绘图,比如5°,5Hz。

在这里插入图片描述

上面就是matlab进行ui应用程序设计的简单介绍。下一篇介绍如何使用matlab进行串口通讯。

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值