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