新聞中心

        EEPW首頁(yè) > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 基于GSM通信的SZF型波浪浮標(biāo)接收系統(tǒng)

        基于GSM通信的SZF型波浪浮標(biāo)接收系統(tǒng)

        作者: 時(shí)間:2013-02-21 來源:網(wǎng)絡(luò) 收藏


        3 設(shè)計(jì)
        通過發(fā)射模塊發(fā)送數(shù)據(jù)包,上位機(jī)通過接收模塊接收數(shù)據(jù)包,再通過串口連接到PC機(jī)上,在PC機(jī)上進(jìn)行數(shù)據(jù)的二次處理。上位機(jī)接收軟件使用可視化開發(fā)環(huán)境進(jìn)行開發(fā)。數(shù)據(jù)處理流程如圖3所示。

        本文引用地址:http://www.104case.com/article/153571.htm

        d.JPG


        3.1 數(shù)據(jù)接收
        由于是通過串口與PC機(jī)進(jìn)行通信,所以在程序設(shè)計(jì)時(shí)選用了Windows下的MSComm控件來進(jìn)行串口數(shù)據(jù)接收處理。MSComm控件通過串口傳輸和接收數(shù)據(jù),為應(yīng)用程序提供串行通信功能,MSComm控件在串口編程時(shí)非常方便,本文使用其事件驅(qū)動(dòng)方法,接收串口數(shù)據(jù)。為事件添加驅(qū)動(dòng)函數(shù)程序如下:
        ON_EVENT(CSZFRevSysDlg,IDC_MSCOMM1,1,CSZFRevSysDlg::OnCommMscomml,VTS_NONE)
        對(duì)串口進(jìn)行初始化設(shè)置程序如下:
        m_mscom.put_RThreshold(1);
        m_mscom.put_InputMode(1);
        其中特別注意的是:第一條設(shè)置表示串口接收到一個(gè)字符就觸發(fā)處理函數(shù),第二條設(shè)置表示設(shè)置輸入方式為二進(jìn)制,這樣才能對(duì)COle Sa leArray變量進(jìn)行操作,否則COleSafeArray默認(rèn)為test格式,不方便后面對(duì)數(shù)據(jù)進(jìn)行解析。
        由于本系統(tǒng)Windows開發(fā)環(huán)境為Vista,所以為了保證在其他Windows環(huán)境下也可以運(yùn)行程序,需要為MSComm添加注冊(cè),注冊(cè)過程如圖4所示。

        e.JPG


        3.2 實(shí)時(shí)顯示
        系統(tǒng)根據(jù)浮標(biāo)不同工作方式(定時(shí)測(cè)量方式,連續(xù)測(cè)量方式和檢測(cè)工作方式),以不同方式啟動(dòng)/關(guān)閉串口。
        浮標(biāo)一般工作在定時(shí)測(cè)量狀態(tài),串口是接收整點(diǎn)前6 min打開,準(zhǔn)備接收數(shù)據(jù),接收到數(shù)據(jù)包后,根據(jù)通信協(xié)議對(duì)數(shù)據(jù)包進(jìn)行解析,再分別顯示在界面相應(yīng)位置,如圖5所示,可供監(jiān)測(cè)人員實(shí)時(shí)的檢測(cè)數(shù)據(jù)。接收整點(diǎn)后10 min關(guān)閉串口,進(jìn)入休眠狀態(tài),如果關(guān)閉串口時(shí)有數(shù)據(jù)接收中,延時(shí)10 s再關(guān)閉串口。

        f.JPG



        評(píng)論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 巴林右旗| 双辽市| 文安县| 克东县| 资阳市| 宣武区| 福贡县| 区。| 潮安县| 凤山县| 甘泉县| 治多县| 越西县| 台山市| 滕州市| 通州市| 安国市| 两当县| 夏津县| 中阳县| 晋宁县| 界首市| 昌宁县| 辽源市| 蓬安县| 淳化县| 阿荣旗| 栖霞市| 延长县| 屯留县| 金山区| 青州市| 乐至县| 比如县| 米脂县| 南川市| 古蔺县| 永州市| 崇阳县| 嘉鱼县| 大邑县|