亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        CSerialPort類在定位定向數(shù)據(jù)采集系統(tǒng)中的應(yīng)用

        2010-06-27 00:57:58任海波韓崇偉陳曉明
        關(guān)鍵詞:慣導(dǎo)對話框串口

        任海波,韓崇偉,李 碩,陳曉明

        (西北機(jī)電工程研究所,陜西咸陽 712099)

        自行火炮的定位定向裝置由GPS衛(wèi)星導(dǎo)航裝置和慣性定位定向?qū)Ш窖b置組成,需分別通過RS-232串口對其進(jìn)行數(shù)據(jù)采集。在只需對單個串口操作時,利用MSComm控件會使編程快捷簡單,然而,由于MSComm控件做了大量的封裝,在多線程串口編程時降低了編程的可控性和靈活性[1]。CSerialPort類是由Remon Spekreijse提供的免費(fèi)串口類,本文成功的采用CSerialPort類進(jìn)行了串口編程,該方法具有編程效率高,程序可控性強(qiáng),擴(kuò)展性好,容易實(shí)現(xiàn)多線程串口通信的優(yōu)點(diǎn)。

        1 CSerialPort類工作流程及主要函數(shù)

        CSerialPort類是基于多線程的,其工作流程如下:首先設(shè)置好串口參數(shù),再打開串口監(jiān)測工作線程,串口監(jiān)測工作線程監(jiān)測到串口接收到的數(shù)據(jù)、流控制事件或其他串口事件后,就以消息方式通知主程序,激發(fā)消息處理函數(shù)來進(jìn)行數(shù)據(jù)處理,這是對接收數(shù)據(jù)而言的;發(fā)送數(shù)據(jù)可直接向串口發(fā)送。以下介紹幾個要用到的函數(shù)[2]:

        2 系統(tǒng)功能

        在自行火炮定位定向數(shù)據(jù)采集系統(tǒng)中,由串口通信模塊定期接收數(shù)據(jù),數(shù)據(jù)處理模塊負(fù)責(zé)把符合要求的數(shù)據(jù)進(jìn)行處理后存儲到后臺數(shù)據(jù)庫,并根據(jù)需要顯示定位定向數(shù)據(jù)。此外,還可以修改系統(tǒng)參數(shù),系統(tǒng)功能結(jié)構(gòu)如圖1所示。

        3 定位定向數(shù)據(jù)采集軟件實(shí)現(xiàn)

        通過Visual C++可視化編程語言及其提供的多線程串口編程工具CSerialPort類,實(shí)現(xiàn)GPS接收機(jī)與計(jì)算機(jī)和慣導(dǎo)與計(jì)算機(jī)的串口通信。計(jì)算機(jī)與定位定向裝置進(jìn)行數(shù)據(jù)傳送采用異步串行傳送方式,串口通信協(xié)議為波特率9 600 bps,8個數(shù)據(jù)位,1個停止位,無奇偶校驗(yàn)。本文采用的GPS接收機(jī)的數(shù)據(jù)遵循NMEA 0183數(shù)據(jù)格式[3],采集程序只讀取GPRMC定位語句,其余的信息將被忽略。采用的慣導(dǎo)數(shù)據(jù)遵循某慣導(dǎo)自定義的報(bào)文格式,即“命令數(shù)據(jù)校驗(yàn)碼”。

        在VC++6.0軟件環(huán)境下建立基于對話框的應(yīng)用程序,工程名為 test。

        3.1 CSerialPort多線程串口通信編程

        1)添加類文件。將類文件SerialPort.h和SerialPort.cpp復(fù)制到工程所在文件夾中,然后點(diǎn)擊VC++6.0菜單Project->Files…,再在打開的文件選擇對話框中選擇SerialPort.h和SerialPort.cpp,點(diǎn)擊OK,并在testDlg.h中包含頭文件Serial-Port.h。這樣就把類文件加入了當(dāng)前工程。

        2)通過CSerialPort類完成串口操作。在主對話框頭文件testDlg.h中為兩個串口分別定義CSerialPort類對象 m_SerialPort[0]和 m_SerialPort[1],再定義兩個布爾變量m_PortOpened[0]和m_PortOpened[1]用來標(biāo)志串口是否打開。完成后繼續(xù)操作[2]:

        ①在頭文件testDlg.h中添加函數(shù)說明

        CSerialPort類所有的消息均需要人工添加消息處理函數(shù),本文只需處理 WM_COMM_RXCHAR消息就可以了。處理函數(shù)名定義為On-Comm(),在testD lg.h中串口字符接收消息的響應(yīng)函數(shù):

        3.2 接收緩沖區(qū)數(shù)據(jù)處理

        定位定向數(shù)據(jù)通過串口處理模塊讀入系統(tǒng),對其進(jìn)行定時分析和處理,將新收到的符合協(xié)議要求的數(shù)據(jù)放人數(shù)據(jù)庫中。為此用SetTimer函數(shù)設(shè)置兩個定時器,分別按照GPS接收機(jī)和慣導(dǎo)的刷新頻率定時發(fā)送WM_TIMER消息,在OnTim er函數(shù)中響應(yīng)WM_TIM ER消息,處理數(shù)據(jù),退出系統(tǒng)時,調(diào)用K illTimer函數(shù)關(guān)閉定時器[4-5]。處理數(shù)據(jù)的方法是:

        1)先分析GPS語句的結(jié)束標(biāo)志CR和LF以找出最新的GPS語句,再根據(jù)GPS數(shù)據(jù)格式規(guī)定的數(shù)據(jù)順序、位數(shù)以及數(shù)據(jù)分割符等特征提取各個字段。

        2)分析慣導(dǎo)的語句格式,控制慣導(dǎo)并提取所需信息。

        3)最后調(diào)用CDaoRecordSet類對象的AddNew方法將記錄存人數(shù)據(jù)庫。

        代碼如下:

        3.3 數(shù)據(jù)庫處理模塊

        系統(tǒng)把接收到的定位定向數(shù)據(jù)保存在數(shù)據(jù)庫中,采用MFCDAO技術(shù)訪問數(shù)據(jù)庫。先調(diào)用CD-aoDatabase類對象的Open方法打開數(shù)據(jù)庫。然后調(diào)用CDaoRecordSet類對象的A ddNew、Edit等方法;對記錄進(jìn)行操作,最后調(diào)用Close方法關(guān)閉數(shù)據(jù)庫[6-7]。代碼如下:

        4 實(shí)驗(yàn)結(jié)果

        在Visual C++6.0軟件環(huán)境下,導(dǎo)航數(shù)據(jù)的采集界面采用以對話框?yàn)橹黝}的界面方案。在實(shí)驗(yàn)室,利用串口調(diào)試軟件發(fā)送符合NM EAO183協(xié)議的GPS數(shù)據(jù)和符合慣導(dǎo)報(bào)文格式的數(shù)據(jù)給數(shù)據(jù)采集系統(tǒng)。導(dǎo)航計(jì)算機(jī)依照GPS和慣導(dǎo)的通訊協(xié)議解析出自行火炮的導(dǎo)航數(shù)據(jù)。數(shù)據(jù)采集界面顯示了GPS和慣導(dǎo)的原始定位定向數(shù)據(jù),GPS解析后的定位結(jié)果,慣導(dǎo)解析后的定位定向結(jié)果、高程及里程等信息。

        5 結(jié) 論

        本文介紹了在VC++環(huán)境下自行火炮定位定向數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)過程,采用CSerial-Port類進(jìn)行了多線程串口編程,并應(yīng)用MFCDAO技術(shù)進(jìn)行了Access數(shù)據(jù)庫編程,使訪問數(shù)據(jù)庫的效率大大提高,該方法具有編程效率高,程序可控性強(qiáng),擴(kuò)展性好,操作簡便等特點(diǎn),具有一定的推廣應(yīng)用價(jià)值。

        [1] 李一雷,張贇.基于CSerialPort類的多線程串口通信的實(shí)現(xiàn)[J].電腦知識與技術(shù),2007(9):535-537.LI Yi-lei,ZHANG Yun.The Imp lementation of mu ltithreading on serial communication based on CSerial-Port class[J].Computer Know ledge and Technology,2007(9):535-537.(in Chinese)

        [2] 龔建偉,熊光明.Visual C++/Turbo C串口通信編程實(shí)踐[M].2版.北京:電子工業(yè)出版社,2008:27-62.GONG Jian-wei,XIONG Guang-ming.Programm ing practice of the serial port communication w ith visual C++/Turbo C[M].2nd ed.Beijing:Publishing House o f Electronics Industry,2008:27-62.(in Chinese)

        [3] 王曉東.基于VC++的GPS數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].湖北汽車工業(yè)學(xué)院學(xué)報(bào),2006,20(2):46-49.W ANG Xiao-dong.Design and im plementation of GPS data acquisition system based on VC++[J].Journal o f Hubei Automotive Industries Institute,2006,20(2):46-49.(in Chinese)

        [4] 胡輝.GPS數(shù)據(jù)采集軟件的實(shí)現(xiàn)[J].全球定位系統(tǒng),2008.1:25-30.HU H ui.The Achievement o f GPS data-acquisition so ftware[J].GNSSW orld of China,2008(1):25-30.(in Chinese)

        [5] 郭念,龐子龍.基于VB實(shí)現(xiàn)GPS數(shù)據(jù)采集與處理[J].電腦知識與技術(shù),2009.5(1):11-12.GUO N ian,PANG Zi-long.GPS data acquisition and processing based on VB[J].Computer Know ledge and Technology,2009,5(1):11-12.(in Chinese)

        [6] 顏志軍.V isual C++數(shù)據(jù)庫開發(fā)典型模塊與實(shí)例精講[M].北京:電子工業(yè)出版社,2007:71-83.YAN Zhi-jun.Analysis on typicalmodels and examples in developing the visual C++database[M].Beijing:Publishing H ouse of Electronics Industry,2007:71-83.(in Chinese)

        [7] 馬飛,諸昌鈐.利用VC++實(shí)現(xiàn)GPS數(shù)據(jù)采集[J].計(jì)算機(jī)時代,2005,6:13-15.M A Fei,CHU Chang-qian.GPS data acquisition based on VC++[J].Computer Era,2005(6):13-15.(in Chinese)

        猜你喜歡
        慣導(dǎo)對話框串口
        淺談AB PLC串口跟RFID傳感器的通訊應(yīng)用
        正?;謴?fù)虛擬機(jī)
        Bootlace Worms’Secret etc.
        自適應(yīng)模糊多環(huán)控制在慣導(dǎo)平臺穩(wěn)定回路中的應(yīng)用
        無人機(jī)室內(nèi)視覺/慣導(dǎo)組合導(dǎo)航方法
        基于Bagging模型的慣導(dǎo)系統(tǒng)誤差抑制方法
        USB接口的多串口數(shù)據(jù)并行接收方法探索
        基于藍(lán)牙串口適配器的GPS接收機(jī)與AutoCAD的實(shí)時無線通信
        地礦測繪(2015年3期)2015-12-22 06:27:26
        基于多線程的慣導(dǎo)邏輯仿真器設(shè)計(jì)
        基于并行控制的FPGA多串口拓展實(shí)現(xiàn)
        白白色最新福利视频二| 在线播放人成午夜免费视频| 性做久久久久久久| av男人的天堂手机免费网站| 手机AV片在线| 日韩一区二区三区天堂| 中文字幕人妻精品一区| 国产日本精品一二三四区| 中文字幕乱码亚洲精品一区| 亚洲国产精品尤物yw在线观看| 青青青国产免A在线观看| 精品一区二区三区老熟女少妇| 人妖av手机在线观看| 免费1级做爰片1000部视频| 内射中出无码护士在线| 2021国产最新在线视频一区| 女同国产日韩精品在线| 美丽的小蜜桃在线观看| 区二区三区玖玖玖| 精品一品国产午夜福利视频| 中文字幕一区二区三区在线不卡| 美腿丝袜网址亚洲av| 国产成人av无码精品| 在线精品一区二区三区 | 亚洲一区二区三区精彩视频| av人摸人人人澡人人超碰下载 | 巨大巨粗巨长 黑人长吊| 熟女俱乐部五十路二区av| 国产自产av一区二区三区性色| 另类人妖在线观看一区二区| 偷拍一区二区盗摄视频| 久久96国产精品久久久| 情侣黄网站免费看| 中文字幕久热精品视频免费| 老司机在线免费视频亚洲| 亚洲精品久久激情国产片| 图片区小说区激情区偷拍区| 久久精品国产亚洲婷婷| 国产成人综合久久大片| 一本色道久久88亚洲精品综合| 波多野结衣一区二区三区高清|