基于Matlab GUI的串口通信編程實(shí)現(xiàn)
Matlab是MathWorks公司開發(fā)的一種科學(xué)計(jì)算軟件。Matlab運(yùn)行穩(wěn)定、可靠、使用方便,是廣大科研人員進(jìn)行科學(xué)研究的得力助手。Matlab不僅具有強(qiáng)大的科學(xué)計(jì)算功能,還具有滿足一般要求的數(shù)據(jù)采集以及界面設(shè)計(jì)開發(fā)功能。Matlab GUI(Graphic User Interface)就是內(nèi)置于Matlab的進(jìn)行圖形界面開發(fā)的模塊。
本文利用Matlab GUI設(shè)計(jì)通過串口進(jìn)行數(shù)據(jù)發(fā)送和接收的界面,并利用內(nèi)置于Matlab的串口通信API實(shí)現(xiàn)串口數(shù)據(jù)發(fā)送與接收功能。
1 Matlab GUl介紹
啟動Matlab后,運(yùn)行g(shù)uide命令即可以啟動Matlab GUI開發(fā)工具。如圖1所示。本文引用地址:http://cafeforensic.com/article/157311.htm
新建Blank GUI,如圖2所示。
在新建Blank GUI界面中,包含了一般的界面元素,如菜單、按鈕、坐標(biāo)軸、控件等。添加必要的串口通信參數(shù)設(shè)置按鈕。
運(yùn)行后的界面如圖3所示。
2 串口數(shù)據(jù)發(fā)送與接收功能實(shí)現(xiàn)
2.1 建立串口通信流程的基本步驟
Matlab提供了對串口進(jìn)行打開、關(guān)閉、以及串口參數(shù)設(shè)置等操作的一系列函數(shù)。利用這些函數(shù)可以選擇串口號、設(shè)置串口通信參數(shù)(波特率、數(shù)據(jù)位、停止位、校驗(yàn)位等)、進(jìn)行中斷控制、流控制。從建立串口通信到結(jié)束串口通信的完整流程包括以下幾個(gè)步驟:
(1)為應(yīng)用程序創(chuàng)建串口對象。實(shí)現(xiàn)該功能的函數(shù)為:
其中參數(shù)port為完整的串口名稱,如cornl。PropertyName為串口通信參數(shù),如baudrate,startbits等。創(chuàng)建串口對象的過程中,也可以忽略PropertyName。其函數(shù)為:
(2)連接打開串口。實(shí)現(xiàn)該功能的函數(shù)為:
obj即為使用創(chuàng)建串口對象函數(shù)的返回值。在連接打開串口后,可以對串口通信參數(shù)進(jìn)行修改。
評論