新聞中心

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

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

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

          3 單片機與串行通信

          3.1 設計思想

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

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

          3.2 系統(tǒng)藍牙串口通信主要代碼

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

        4 基于 的通信

          4.1 基礎上實現(xiàn)串口通信的軟件設計

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

          4.2 設備控制工具箱介紹

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

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

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

          ③傳輸?shù)臄?shù)據(jù)可以是文本或二進制的(數(shù)字的)。

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

          ⑤支持基于事件的通信。

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




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

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 青州市| 韶山市| 南昌市| 文登市| 襄垣县| 北海市| 启东市| 镇安县| 普陀区| 娄底市| 平利县| 商南县| 萨迦县| 合阳县| 策勒县| 蒲城县| 泸水县| 驻马店市| 大渡口区| 东莞市| 湘潭市| 库伦旗| 西乌珠穆沁旗| 城口县| 邓州市| 霍州市| 改则县| 义马市| 临潭县| 东海县| 都江堰市| 龙南县| 朝阳区| 日照市| 云南省| 乌鲁木齐市| 苍南县| 沂南县| 商城县| 保康县| 衡山县|