社区导航

 

搜索
查看: 2918|回复: 14

[原创] MATLAB APP Designer串口调试工具编写

[复制链接]

544

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-5-9 22:01 | 显示全部楼层 |阅读模式
本帖最后由 lb8820265 于 2019-5-9 23:11 编辑

       前面介绍过使用VC6制作串口调试工具的两种方式:SerialPort类串口mscomm控件串口
这次介绍使用MATLAT制作串口上位机,为何想用MATLAB,因为MATLAB除了不会生孩子,其他的都会,同时MATLAB也是算法研发者的最爱。
        MATLAB在2016版本中加入了APPDesigner模块,可以理解为是一个界面设计模块。在matlab中一直有一个界面设计模块叫做GUIDE,设计出来的界面就像VC6设计的,APP Designer就比较像VS设计出来的。APP Designer的界面跟漂亮,控件元素更多。
网上可以搜到很多基于GUIDE的串口代码,却少有APPDesigner设计的。今天就来一步一步展示如何设计出一个串口调试工具。
       学习MATLAB最好的方法就是查看帮助,在帮助手册中搜索APP Designer就可以,界面如下:
1.png
      将帮助看完,会对APP Designer有一个比较全面的了解,让我们开始。
打开APP Designer
      打开MATLAB-->新建-->APP-->App设计工具,如下:
2.png

编辑界面                     打开的界面如下:
3.png
      页面的功能区很明显,拖入如上图所示的控件,并修改控件的ID,
      其中下拉菜单添加如下图所示的端口标志。
4.png
       其他控件的设置详见源码。
添加属性—全局变量
        界面切换到代码视图-->编辑器-->属性-->公有属性,系统自带添加properties代码。
5.png
        在中间添加如下代码:
6.png
添加私有函数—“接收”回调函数
        界面切换到代码视图-->编辑器-->函数-->公有属性,系统自带添加代码。
7.png
        在中间添加如下代码:
8.png
        该代码的作用是接收的回调函数。
启动初始化函数
        启动初始化函数的作用是在程序运行前先运行的一段代码,在设计界面右击-->回调-->添加StartupFcn回调, 如下:
9.png
        系统添加startupFcn函数,添加如下代码:
10.png
        代码主要是用来设置变量的初始值,确保串口已经释放。
“打开串口”回调
        切换到设计视图,在“打开串口”按钮上右击-->回调-->添加回调函数,
系统自动添加回调函数。
11.png
      添加如下所示代码:
12.png
      代码主要是设置串口参数,串口接收回调函数,UI显示。
“发送”回调
      在发送按钮上同样添加回调函数如下:
13.png
     代码主要作用是将发送编辑框中的内容发送出去。
演示
     用VSPD虚拟两个相连的串口,然后使用另一个串口软件,设置波特率115200。运行APP Designer上的绿色的箭头。然后选择串口,点击“打开串口”灯变绿色。然后相互发送数据如下:
14.png
      源码见附件。(源码需要在APP Designer中打开,新建-->APP-->App设计工具-->打开)

app2.mlapp

24.25 KB, 下载次数: 106

评分

2

查看全部评分

QQ:252669569


回复

使用道具 举报

1849

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

发表于 2019-5-9 23:01 | 显示全部楼层
高级了!
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1184

TA的帖子

1

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2019-5-9 23:07 来自手机 | 显示全部楼层
好东西!


回复

使用道具 举报

45

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-10 09:25 | 显示全部楼层



回复

使用道具 举报

246

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2019-5-10 10:03 | 显示全部楼层
真不知道matlab还能干这事,最后这个能在windows下独立运行吗;像.exe程序那样?

点评

可以的,MATLAB可以打包成包含库文件的exe和不包含库文件的exe.  详情 回复 发表于 2019-5-10 21:22


回复

使用道具 举报

269

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

发表于 2019-5-10 14:00 | 显示全部楼层
厉害


回复

使用道具 举报

544

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-5-10 21:22 | 显示全部楼层
viphotman 发表于 2019-5-10 10:03
真不知道matlab还能干这事,最后这个能在windows下独立运行吗;像.exe程序那样?

可以的,MATLAB可以打包成包含库文件的exe和不包含库文件的exe.
QQ:252669569


回复

使用道具 举报

417

TA的帖子

7

TA的资源

版主

Rank: 6Rank: 6

发表于 2019-5-11 08:03 | 显示全部楼层
厉害了,MATLAB


回复

使用道具 举报

419

TA的帖子

6

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

发表于 2019-5-11 13:41 | 显示全部楼层
有意思,原来MATLAB还有这样的功能,实在太强大了,咱也跟着学下
如果天空是黑暗的,那就摸黑生存;如果发出声音是危险的,那就保持沉默...但不要习惯了黑暗就为黑暗辩护;不要为自己的苟且而得意;不要嘲讽那些比自己更勇敢热情的人们。人可以卑微如尘土,不可扭曲如蛆虫。


回复

使用道具 举报

6

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-6-24 18:31 | 显示全部楼层

你好,我对你的代码进行了调试,发现有一点不明白的地方,希望你能指点我一下。 

具体的是:接收的回调函数里, function  EveBytesAvailableFcn(app, src, event),代码中第40行。   这一句中,src和event是什么意思?不是很明白。

点评

这个是matlab的自定义回调函数用法,我在回调函数指定的时候前面用了一个@,这就代表了这个函数会有opj和event,opj相当于句柄,event具体是什么我也不知道,一般也没用过,APP是APP designer特有的guide没有,相当  详情 回复 发表于 2019-6-27 22:36


回复

使用道具 举报

544

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-6-27 22:36 | 显示全部楼层
寒风吹彻 发表于 2019-6-24 18:31 你好,我对你的代码进行了调试,发现有一点不明白的地方,希望你能指点我一下。  具体的是:接收的 ...

这个是matlab的自定义回调函数用法,我在回调函数指定的时候前面用了一个@,这就代表了这个函数会有opj和event,opj相当于句柄,event具体是什么我也不知道,一般也没用过,APP是APP designer特有的guide没有,相当于C++里面的this。

QQ:252669569


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-7-10 19:55 | 显示全部楼层

为什么我下载了你的代码,但用APP designer打不开啊

点评

看看错误提示,是不是版本太低了  详情 回复 发表于 2019-7-10 22:59


回复

使用道具 举报

544

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

 楼主| 发表于 2019-7-10 22:59 | 显示全部楼层
fashoon 发表于 2019-7-10 19:55 为什么我下载了你的代码,但用APP designer打不开啊

看看错误提示,是不是版本太低了

QQ:252669569


回复

使用道具 举报

36

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

发表于 2019-10-23 00:01 | 显示全部楼层

倍棒!正想学习一下这个。

一直被模仿,从未被超越


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

发表于 2019-11-3 11:20 | 显示全部楼层
警告: 当 'AutoResizeChildren' 设置为 'on' 时,'SizeChangedFcn' 回调将不会执行。   请问大神。这个警告是咋回事啊?


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

关闭

站长推荐上一条 /5 下一条

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

Archiver|手机版|小黑屋|电子工程世界 ( 京ICP证 060456 )

GMT+8, 2020-1-26 01:24 , Processed in 0.418108 second(s), 19 queries , Gzip On, MemCache On.

快速回复 返回顶部 返回列表