久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

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

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

作者: 時間:2013-12-14 來源:網絡 收藏
: 0px; PADDING-TOP: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  運行后的通信仿真界面

  3 單片機與串行通信

  3.1 設計思想

  MCA8HCS12G128單片機的軟件設計需要實現對程序的初始化、接收與發送串口信號、速度和位置數據的采集等功能。為了保證上位機采集數據的可靠性和穩定性,防止出現丟包事件,在通信過程中約定了雙方的握手方法。在程序初始化以后,等待fwrite命令發送的握手信號0xFF.當單片機第一次接收到的信號為0xFF時,則握手成功,并開始運行電機和激光頭等子程序。在實驗過程中發現存在發送的第一組數據第一個字節丟失的現象,為了增強數據的可靠性,首先判斷數據包的前兩個字節是否為0xFF,是則剔除相應字節,分離出有效的數據,再在回送的速度、激光傳感器的數據中嵌入兩個字節的握手信號0xFF,接收到串口的數據后進行相應的處理。控制器通信的總程序流程如圖3所示。

  智能車控制器通信的總程序流程

  3.2 系統藍牙串口通信主要代碼

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

4 基于 的通信

  4.1 基礎上實現串口通信的軟件設計

  在Matlab環境下,讀取串口數據有查詢和中斷兩種方式。查詢方式數據只能分批進行傳送,實時性不高,且對系統資源的占用比較大。以中斷方式實現的串口通信,通常的處理方式是對Matlab提供的instrcallback回調函數進行修改,采用事件驅動的方式,達到實時處理下位機傳送數據的目的。但是采用Matlab的事件和回調函數機制編程要相對復雜一些,在對instreallback函數進行修改和備份等操作時容易出錯且比較麻煩。另外,每次修改instreallbaek函數后都要重新啟動Matlab,可能會導致數據丟失等一些不必要的麻煩。將事件驅動函數寫入組件的M文件中,可以減少綰程的復雜性,避免一些不必要的麻煩,實現串口之間的實時通信。

  4.2 設備控制工具箱介紹

  Matlab設備控制工具箱主要是提供Matlab軟件與各種智能儀器的直接通信功能。工具箱提供了以下功能:

  ①支持串行接口(RS-232/RS-422/RS-485)、GPIB接口(IEEE 488)等通信協議。

  ②支持IVI、VXI plugplay和Matlab設備驅動(instrument drivers),不需要學會寫與設備相關的指令即能與儀器直接聯通。

  ③傳輸的數據可以是文本或二進制的(數字的)。

  ④支持同步和異步(有阻塞或無阻塞)通信。

  ⑤支持基于事件的通信。

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




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

評論


相關推薦

技術專區

關閉