一、基本繪圖程序
clear
s=serial('com5') %選擇串口號
set(s,'BaudRate',115200,'StopBits',1,'Parity','none');%設置波特率 停止位 校驗位
fopen(s)for i = 1:300 %循環讀取
out=fread(s,26,'uint8');%讀取 數據個數 與 類型
plot(x1,y1,x2,y2,x3,y3,x4,y4);%繪圖
axis([-2000,2000,0,70000]);%設置x,y軸座標範圍
pause(0.01);%延時一小段時間,必須具備
i=i+1;
end
fclose(s)
二、GUI界面的整體佈局設計
利用MATLAB的GUI界面設計程序界面和功能,利用MATLAB R2014a來實現設計,打開MATLAB後:
1、在命令行窗口輸入”guide”調出GUIDE工具
2、直接選擇默認方式,勾選“將新圖形另存爲”,選擇自己要存的位置,然後點擊OK。
3、MALTAB的GUI主要由兩個文件,當設置好GUIDE時點擊保存,這時將在當前路徑自動產生兩個名字相同的文件,但擴展標識符不同,一個爲.fig文件,一個爲.m文件,.fig主要是GUI圖形文件,和GUIDE設計的圖像相同,.m文件爲程序文件,所有事件響應和計算功能都在這裏實現。
可以在左側的控件欄拖曳控件到右側網格中
4、控件設置,右擊控件點“Property Inspector”或雙擊控件
一般僅設置Tag選項和String選項。其中String選項在按鈕控件中就是GUI顯示時的字符。Tag屬性較爲重要,在GUI編程時控件的索引主要利用Tag選項的屬性並且在GUI生成回調函數時候也是由Tag屬性的值命名的。這裏將“打開串口”按鈕控件的String設置爲“打開串口”,tag設置爲pbOpenSerial。
5、其他設置可重複以上步驟來放置和設置各個控件,都所有控件設置好之後,要保存一下,然後點擊右側的“.m”文件可以看到相對應的控件的程序設計區。
MATLAB的按鈕以及各種控件事件響應是依靠一種叫做回調函數(Callback Function)來實現的,自動生成的M文件中已經自動做好回調函數的名稱和參數了,我們需要做的就是在其中添加你要進行的處理。
例如:我們要在鼠標單擊按鈕“打開串口”時進行一系列的串口初始化動作,這時右鍵單擊“打開串口按鈕”
按鈕的Tag爲pbOpenSerial,所以GUIDE自動生成的回調函數名爲pbOpenSerial_Callback,函數有3個參數
·hObject是當前控件對象,即打開串口按鈕對象(面向對象技術中的概念),索引或設置當前對象(打開串口按鈕對象)時只需要引用hObject就可以了。例如:改變當前空間的可見性,只需調用set(hObject,'Visable','off');打開串口對象在單擊該按鈕時即會隱藏。
·eventdata我暫時沒有用到,所以暫且不管他
·handles我理解是整個GUI界面的索引句柄,所有GUI界面上的控件都可以通過他來索引,幾乎有全局作用域,例如在打開串口按鈕的回調中要將關閉串口按鈕顯示出來,可以這樣調用:
set(handles. pbOpenSerial,'Visable','on');就可以了!
這裏handles還有一個作用就是在不同控件間進行參數傳遞,只要對handle的成員變量進行賦值就可以了。當然後面要調用一下guidata(hObject,handles);將變量保存。