運用Matlab GUI制作跨平臺串口控制界面 首先在matlab中制作所需要的界面,由于實際需要,我設置了一些串口屬性設置的下拉菜單,一個打開/關閉串口的開關按鈕,一個用于控制的滑塊(slider)組建,以及一些顯示信息的文本框。 界面如上圖所示。 在程序編寫時有一些注意事項: 1、當串口還沒有打開時,拖動slider發送數據會產生錯誤,為了避免這種情況,我將slider的初始enable設置為off,即剛開始滑塊是不可用的,只有打開串口之后才激活,關閉串口又自動設置為不可用。 2、在關閉程序之后如果沒有關閉串口并刪除串口對象,在下次打開程序時就會提示串口已被占用,所以在程序中我添加了關閉程序時直接關閉并刪除串口對象,以免出錯。 運行結果如圖: 將硬件平臺連接好之后,進行試驗,結果表明可以實現對舵機的實時控制。 接下來就要進行程序的移植工作,主要分為windows平臺和linux平臺。 Windows 平臺 首先在matlab中設置編譯器(compiler),通過mbuild –setup命令,會列出電腦上已安裝的編譯器,需要選擇一個合適的, 在本人的win7x64系統上,有這個vc2010,就選擇它了,成功之后會有提示,否則請安裝正確適用的編譯器,設置好編譯器后,就可以進行編譯。 要用到mcc命令,mcc –m test,test為我的fig和m文件名稱,執行完之后會在當前目錄生成可執行文件,這里就是test.exe文件,直接雙擊,首先出現一個dos黑窗口,這個是可以顯示可能的出錯信息或者正常運行信息,可以選擇不出現這個窗口,數秒鐘之后,就出現了脫離matlab的程序界面,與matlab中利用guide運行界面一樣,但是實現了脫離matlab運行,控制效果也相差無幾。 小結:這個生成的程序雖然實現了windows下脫離matlab運行,但是其實還需要一些特定的環境變量,在某些機器上要正常運行需要安裝matlab目錄下一個叫MCRINSTALLER.EXE的文件,安裝之后,就可在windows系統中運行。 Linux平臺 同樣選擇合適的編譯器: 這里選擇gcc編譯器,同windows平臺一樣利用mcc命令進行編譯,會生成可執行文件: 直接運行會發現提示沒有所需要的庫,無法運行,需要手動添加環境變量,添加之后就可以運行: 可以看到一些在windows下可以正常顯示的字符在這里顯示亂碼,是因為linux的字庫還不夠全,我這是直接把windows下的fig和m文件拿過來用,就出現了這種問題,不過無傷大雅,只要在linux下的matlab中對有亂碼的字符編輯一下,該刪的刪,該改的改,沒什么大問題。 小結:在linux系統下,同樣要設置添加環境變量,程序才能正常運行,同時由于同一端口的端口號在windows和linux下是不同的,需要在程序中進行更改。
完整的Word格式文檔51黑下載地址:
Matlab-GUI制作跨平臺串口控制界面.doc
(849.5 KB, 下載次數: 10)
2018-5-28 09:21 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|