新聞中心

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

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

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

          3 單片機(jī)與串行通信

          3.1 設(shè)計(jì)思想

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

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

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

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

        4 基于 的通信

          4.1 基礎(chǔ)上實(shí)現(xiàn)串口通信的軟件設(shè)計(jì)

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

          4.2 設(shè)備控制工具箱介紹

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

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

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

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

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

          ⑤支持基于事件的通信。

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




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

        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 江津市| 阜平县| 甘泉县| 谷城县| 古蔺县| 乌恰县| 西盟| 广安市| 化隆| 仙居县| 鹤山市| 常宁市| 蒙山县| 中牟县| 永寿县| 涟源市| 博兴县| 吉水县| 灵川县| 祁连县| 江华| 佛冈县| 宝清县| 邮箱| 陆川县| 天津市| 双牌县| 太原市| 新竹县| 东兴市| 阿合奇县| 将乐县| 台南市| 大竹县| 甘谷县| 玉环县| 广饶县| 琼结县| 金沙县| 泽普县| 治多县|