社区导航

 

搜索
查看: 1775|回复: 14
打印 上一主题 下一主题

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

[复制链接]

541

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就可以,界面如下:
      将帮助看完,会对APP Designer有一个比较全面的了解,让我们开始。
打开APP Designer
      打开MATLAB-->新建-->APP-->App设计工具,如下:

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

app2.mlapp

24.25 KB, 下载次数: 63

评分

2

查看全部评分

收藏收藏2 收藏干货 分享分享
QQ:252669569


回复

使用道具 举报

1778

TA的帖子

1

TA的资源

五彩晶圆(初级)

Rank: 7Rank: 7Rank: 7

沙发
发表于 2019-5-9 23:01 | 只看该作者
高级了!
人已离开,无事别找,找也找不到。


回复

使用道具 举报

1167

TA的帖子

1

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

板凳
发表于 2019-5-9 23:07 来自手机 | 只看该作者
好东西!


回复

使用道具 举报

44

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

4
发表于 2019-5-10 09:25 | 只看该作者



回复

使用道具 举报

231

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

5
发表于 2019-5-10 10:03 | 只看该作者
真不知道matlab还能干这事,最后这个能在windows下独立运行吗;像.exe程序那样?

点评

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


回复

使用道具 举报

269

TA的帖子

0

TA的资源

一粒金砂(中级)

Rank: 2

6
发表于 2019-5-10 14:00 | 只看该作者
厉害


回复

使用道具 举报

541

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

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

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


回复

使用道具 举报

405

TA的帖子

7

TA的资源

版主

Rank: 6Rank: 6

8
发表于 2019-5-11 08:03 | 只看该作者
厉害了,MATLAB


回复

使用道具 举报

419

TA的帖子

6

TA的资源

纯净的硅(中级)

Rank: 5Rank: 5

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


回复

使用道具 举报

6

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

10
发表于 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


回复

使用道具 举报

541

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

11
 楼主| 发表于 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

12
发表于 2019-7-10 19:55 | 只看该作者

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

点评

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


回复

使用道具 举报

541

TA的帖子

21

TA的资源

版主

Rank: 6Rank: 6

13
 楼主| 发表于 2019-7-10 22:59 | 只看该作者
fashoon 发表于 2019-7-10 19:55 为什么我下载了你的代码,但用APP designer打不开啊

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

QQ:252669569


回复

使用道具 举报

36

TA的帖子

0

TA的资源

一粒金砂(高级)

Rank: 3Rank: 3

14
发表于 2019-10-23 00:01 | 只看该作者

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

一直被模仿,从未被超越


回复

使用道具 举报

1

TA的帖子

0

TA的资源

一粒金砂(初级)

Rank: 1

15
发表于 2019-11-3 11:20 | 只看该作者
警告: 当 'AutoResizeChildren' 设置为 'on' 时,'SizeChangedFcn' 回调将不会执行。   请问大神。这个警告是咋回事啊?


回复

使用道具 举报

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

关闭

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

  • 论坛活动 E手掌握

    扫码关注
    EEWORLD 官方微信

  • EE福利  唾手可得

    扫码关注
    EE福利 唾手可得

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

GMT+8, 2019-11-11 10:48 , Processed in 0.419099 second(s), 19 queries , Gzip On, MemCache On.

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