新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于Matlab GUI的PC機(jī)與智能車的無線通信

基于Matlab GUI的PC機(jī)與智能車的無線通信

作者: 時間:2013-12-14 來源:網(wǎng)絡(luò) 收藏
FONT: 14px/25px 宋體, arial; WHITE-SPACE: normal; ORPHANS: 2; LETTER-SPACING: normal; COLOR: rgb(0,0,0); WORD-SPACING: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  ⑥新的TMTOOL圖形用戶接口不僅能夠連接儀器、接收/發(fā)送數(shù)據(jù),而且可以自動生成M代碼文件,以加入編寫的程序中。

  5 基于 查詢方式實現(xiàn)異步串行通信

  基于查詢方式的非實時串口通信雖然編程簡單,對數(shù)據(jù)的調(diào)用處理也更為容易,但是只能接收一個過程的數(shù)據(jù),這在對實時性要求較高的系統(tǒng)中往往不能滿足設(shè)計者的需求。以下為部分通信程序代碼。

  基于Matlab GUI的PC機(jī)與智能車的無線通信

6 基于Matlab中斷方式實現(xiàn)實時串行通信

  事件驅(qū)動方式的優(yōu)點是程序響應(yīng)及時,可靠性高。在Matlab環(huán)境下實現(xiàn)實時通信的中斷方式,實際上就是采用事件驅(qū)動的方式實現(xiàn)的,類似于VB語言MSComm控件中OnComm事件的實現(xiàn)方法。當(dāng)串口上監(jiān)視到緩沖區(qū)有指定字節(jié)數(shù)目的數(shù)據(jù)可用(bytes-available event),串口接收到的數(shù)據(jù)長時間處于非激活狀態(tài)(break-interrupt event),串行口引腳狀態(tài)改變(pin-status event)或輸出緩沖區(qū)為空(output empty eve nt)等事件發(fā)生時,Matlab會自動調(diào)用回調(diào)函數(shù)進(jìn)行通信事件的處理。因此,事件驅(qū)動實質(zhì)上是一種中斷機(jī)制,而回調(diào)函數(shù)實質(zhì)上相當(dāng)于一個中斷服務(wù)子程序。Matlab端實時串行通信的程序流程如圖4所示。以下為兩種不同的方式實現(xiàn)實時通信的中斷機(jī)制程序。

  Matlab端實時串行通信的程序流程

  6.1 將中斷服務(wù)子程序?qū)懭?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/GUI">GUI組件的部分M文件代碼

  主程序創(chuàng)建串口設(shè)備對象、設(shè)置串口設(shè)備屬性及打開串口等初始化操作的代碼與查詢方式下的初始化代碼相同:

  基于Matlab GUI的PC機(jī)與智能車的無線通信

  6.2 通過調(diào)用修改后的instroallback.m文件實現(xiàn)中斷

  主程序:

  修改instreallback(obj,evenlt)回調(diào)函數(shù),instrcallback.m文件包含了Matlab提供的回調(diào)函數(shù)程序模板,設(shè)計者可以根據(jù)需要自行添加相應(yīng)的服務(wù)程序代碼。Matlab安裝目錄下有兩個instrcallback.m文件,只需要修改MATLABtoolboxmatlabiofun@instrument目錄下的instrcallback.m文件即可。另外,在修改instrcallback.m文件之前,最好對其做一個備份。在修改了instrcallback(obj,event)回調(diào)函數(shù)后,需要對其進(jìn)行保存,重新啟動Matlab配置該文件,才使修改后的函數(shù)生效。

  智能車啟動過程速度的實時顯示

  圖5為以下方式實現(xiàn)的啟動過程速度的實時顯示,修改后的instrcallback.m文件主要程序代碼如下:

  基于Matlab GUI的PC機(jī)與智能車的無線通信

數(shù)字通信相關(guān)文章:數(shù)字通信原理




關(guān)鍵詞: Matlab GUI PC機(jī) 智能車 無線通信

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉