找回密码
 注册
关于网站域名变更的通知
查看: 598|回复: 1
打印 上一主题 下一主题

基于Matlab GUI的串口通信编程实现

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2018-11-12 13:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x

0 引言
. ]+ D  n" A! u! N6 M   
1 p! o. w( L. \: k5 X* OMatlab是MathWorks公司开发的一种科学计算软件。Matlab运行稳定、可靠、使用方便,是广大科研人员进行科学研究的得力助手。Matlab不仅具有强大的科学计算功能,还具有满足一般要求的数据采集以及界面设计开发功能。Matlab GUI(Graphic User InteRFace)就是内置于Matlab的进行图形界面开发的模块。' U7 @; E& z# }) w& f
    本文利用Matlab GUI设计通过串口进行数据发送和接收的界面,并利用内置于Matlab的串口通信API实现串口数据发送与接收功能。

1 Matlab GUl介绍. l' R+ b* t& \1 {! I0 Z
    启动Matlab后,运行guide命令即可以启动Matlab GUI开发工具。如图1所示。

* H% X' \" I& j9 H# r2 L" M" [5 Y! e% F. W# j+ O

9 a  E& O8 t' q7 s' }( J; J    新建Blank GUI,如图2所示。) P' e7 p' M1 z4 w( K/ q
    在新建Blank GUI界面中,包含了一般的界面元素,如菜单、按钮、坐标轴、控件等。添加必要的串口通信参数设置按钮。
8 I- o7 I* J, s1 O    运行后的界面如图3所示。

6 N  r* u' t0 k
1 n) r* \7 C- S9 s- _* G1 j2 串口数据发送与接收功能实现
, S0 [6 o( g! P7 ~& G2 J2.1 建立串口通信流程的基本步骤
! {( Y" P- `9 h! m8 }# {   
: c& |( g/ c5 t% v7 [Matlab提供了对串口进行打开、关闭、以及串口参数设置等操作的一系列函数。利用这些函数可以选择串口号、设置串口通信参数(波特率、数据位、停止位、校验位等)、进行中断控制、流控制。从建立串口通信到结束串口通信的完整流程包括以下几个步骤:6 y; y( y9 a+ F; ^
    (1)为应用程序创建串口对象。实现该功能的函数为:* O* }" t, Y5 \- D0 Y& @6 B5 A) y
   
& l0 I* F) s5 Z9 m   
4 j1 U( z" ^* z: y7 u; N3 l0 v8 d其中参数port为完整的串口名称,如cornl。PropertyName为串口通信参数,如baudrate,startbits等。创建串口对象的过程中,也可以忽略PropertyName。其函数为:1 t. _* M+ X5 X& X
   
1 h( P$ t1 ?- S. o4 `1 h    (2)连接打开串口。实现该功能的函数为:2 h) f% s+ h5 H# i- |6 k
   
: N" n( P+ `* F, h" A    obj即为使用创建串口对象函数的返回值。在连接打开串口后,可以对串口通信参数进行修改。
8 p( v- T+ S6 y, a( l6 R
(3)设置或者修改串口通信参数。在能够有效地进行串口通信前,必须设置正确的串口通信参数。实现该功能的函数为:8 ]) @4 H( _( R5 y+ }& o7 k
   
. J, V$ S" c0 R( U    obj即为使用创建串口对象函数的返回值;PropertyName为串口通信参数,如baudrate,startbits等。
6 ^; E1 _- u: c4 Y7 S, F3 G9 q   
5 ]- \2 a7 Q# W( {9 R1 i
游客,如果您要查看本帖隐藏内容请回复

4 C. d8 R3 b: `( e% o; N4 u, e! I) q
7 ]2 w) j% P2 y7 r& M2 m
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-8-20 14:16 , Processed in 0.125000 second(s), 24 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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