新聞中心

        EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計應(yīng)用 > GPS定位信息提取及應(yīng)用

        GPS定位信息提取及應(yīng)用

        作者: 時間:2012-08-30 來源:網(wǎng)絡(luò) 收藏

        3 與解析
        3.1 讀取MID串口數(shù)據(jù)流程圖
        首先創(chuàng)建串口的讀線程,然后進(jìn)行串口的監(jiān)聽,等待指定瀆事件的發(fā)生。如果有可讀數(shù)據(jù)則讀串口,對接收到的事件進(jìn)行數(shù)據(jù)處理。數(shù)據(jù)讀取流程圖如圖2所示。

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

        b.JPG


        3.2 串行端口數(shù)據(jù)通信
        1)打開串行端口
        通過調(diào)用CreateFile函數(shù)打開串行端口
        m_hComm=CreateFile (Port,GENERIC_READ1GENERIC_WRITE,0,0,OPEN_EXISTING,0,0)。這個函數(shù)的返回值是已打開串行端口的句柄值。
        2)串行端口通信配置
        串口打開后.需對串口進(jìn)行配置。用GetCommState函數(shù)獲得當(dāng)前打開的串口參數(shù),然后根據(jù)需要修改DCB的成員變量,用SetCommState函數(shù)來設(shè)置新的串口參數(shù)。
        e.JPG
        3)設(shè)置狀態(tài)參數(shù)
        SetCommMask(m_hComm,EV_RXCHAR);
        4)設(shè)置超時參數(shù)
        為防止程序陷入循環(huán)狀態(tài),需要設(shè)置超時值。
        f.JPG
        5)讀寫串口通信
        fReadState=ReadFiie(m_hComm,data,length,dwLength,NULL)://從串口讀取數(shù)據(jù)
        fWriteState=WriteFile(m_hComm,buf,dwCharToWrite*sizeof(char),dwBytesWritten,NULL);//向串口寫入數(shù)據(jù)
        6)通信結(jié)束關(guān)閉串口
        函數(shù)CloseHandle(m_hComm)用來關(guān)閉串口。當(dāng)串口獲取接收機(jī)數(shù)據(jù)信號后,需要根據(jù)NMEA-0183通信協(xié)議解析GPS數(shù)據(jù),獲取移動目標(biāo)當(dāng)前的格林尼治時間和位置,而我國的標(biāo)準(zhǔn)時間需在格林尼治時間上加上8小時。
        GPS使用的坐標(biāo)系為WGS_84坐標(biāo)系,而我國通常使用的是國家坐標(biāo)系,如北京54國家坐標(biāo)系,因此需要進(jìn)行坐標(biāo)轉(zhuǎn)換。GPS在與MID通信過程中可通過串口每秒發(fā)送10條數(shù)據(jù)。實際中可根據(jù)需要解析所需數(shù)據(jù)。



        關(guān)鍵詞: 應(yīng)用 提取 信息 定位 GPS

        評論


        相關(guān)推薦

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

        關(guān)閉
        主站蜘蛛池模板: 盐亭县| 永济市| 合肥市| 翼城县| 桐城市| 沭阳县| 靖安县| 分宜县| 西乌珠穆沁旗| 开平市| 阳西县| 齐齐哈尔市| 治县。| 江山市| 灵武市| 化州市| 遵化市| 沁阳市| 巴林右旗| 理塘县| 长海县| 连江县| 青神县| 鄯善县| 雷州市| 白河县| 滦南县| 石城县| 东明县| 石棉县| 于田县| 奎屯市| 保德县| 彩票| 津南区| 丰台区| 巫山县| 恩施市| 厦门市| 张家川| 巴塘县|