新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于Matlab GUI的PC機與智能車的無線通信

        基于Matlab GUI的PC機與智能車的無線通信

        作者: 時間:2013-12-14 來源:網絡 收藏
        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"> ?、扌碌腡MTOOL圖形用戶接口不僅能夠連接儀器、接收/發送數據,而且可以自動生成M代碼文件,以加入編寫的程序中。

          5 基于 查詢方式實現異步串行通信

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

          基于Matlab GUI的PC機與智能車的無線通信

        6 基于Matlab中斷方式實現實時串行通信

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

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

          6.1 將中斷服務子程序寫入組件的部分M文件代碼

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

          基于Matlab GUI的PC機與智能車的無線通信

          6.2 通過調用修改后的instroallback.m文件實現中斷

          主程序:

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

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

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

          基于Matlab GUI的PC機與智能車的無線通信

        數字通信相關文章:數字通信原理




        關鍵詞: Matlab GUI PC機 智能車 無線通信

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 紫阳县| 河津市| 桃源县| 和田市| 霍邱县| 新源县| 罗定市| 长阳| 渝北区| 黄大仙区| 栾川县| 呈贡县| 清原| 鄂托克前旗| 巴中市| 香港| 苏尼特左旗| 永安市| 睢宁县| 海宁市| 河北区| 江口县| 红安县| 江都市| 阿拉善右旗| 桃园县| 龙口市| 区。| 红安县| 文化| 蓬莱市| 谢通门县| 山东省| 共和县| 太和县| 崇义县| 旬邑县| 金平| 治多县| 容城县| 兴隆县|