在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式物流信息終端定位功能設(shè)計(jì)與實(shí)現(xiàn)

            嵌入式物流信息終端定位功能設(shè)計(jì)與實(shí)現(xiàn)

            作者: 時(shí)間:2012-11-16 來源:網(wǎng)絡(luò) 收藏


              對(duì)于終端導(dǎo)航而言,“$GPRMC”幀格式可以滿足大部分需求,其幀長(zhǎng)相對(duì)較短,便于信息處理。因此,在本系統(tǒng)中,選取“$GPRMC”幀進(jìn)行定位信息提取。系統(tǒng)通過RS232串口從-OEM模塊中接收定位數(shù)據(jù),從接收數(shù)據(jù)中的“$GPRMC”幀提取時(shí)間、經(jīng)緯度、速度、方位角等定位導(dǎo)航信息。其程序模塊主體結(jié)構(gòu)如下:

            ……
            //判斷是否為$GPRMC幀頭,并進(jìn)行標(biāo)記
            if(Data[i]=='$' Data[i+3]=='R')
            ……
            //判斷是否為幀尾,幀尾以換行字符LF>表示,數(shù)值為10 ''
            if(Data[i]==10 SectionID==13) { ……
            id_check=m*16+n; //得到檢驗(yàn)數(shù)據(jù)的INT型
            if(chk_result!=id_check) //比較異或運(yùn)算結(jié)果與檢驗(yàn)數(shù)據(jù)是否一致
            …… i f( Data[i]=='*' SectionID==12 ) //異或運(yùn)算結(jié)果
            ……
            //對(duì)$至*之間的字符進(jìn)行異或運(yùn)算,得到結(jié)果chk_result
            for( ; Data[n]!='*"; n++) chk_result^=Data[n];
            //判斷逗號(hào),區(qū)分識(shí)別數(shù)據(jù),并判別*號(hào),區(qū)分校驗(yàn)數(shù)據(jù)
            if(Data[i]==','||(Data[i]=='*' SectionID==12) )
            SectionID++;
            else
            { switch(SectionID)
            { case 1: //提取時(shí)間
            m_sTime[a++]=Data[i];
            break;
            case 2: //接收判別有效性數(shù)據(jù)A為有效,V為無效
            ……
            case 3: //提取緯度
            ……//提取經(jīng)度、速度、方位角、校驗(yàn)數(shù)據(jù)等其它信息

            2)Linux串口通信編程

              嵌入式Linux操作系統(tǒng)使用接口標(biāo)準(zhǔn)POSIX的termios接口來控制串口的行為。在Linux系統(tǒng)中,串口等設(shè)備被當(dāng)作文件進(jìn)行處理,其程序模塊主體實(shí)現(xiàn)如下:

            int fd=open("/dev/ttyS1",O_RDWRIO_NOCTTY);//打開串口
            ……
            new_options.c_cflag =~PARENB;//無奇偶校驗(yàn)
            new_options.c_cflag =~CSIZE;//不隱藏?cái)?shù)據(jù)位
            new_options.c_cflag =~CSTOP8;//無停止位
            new_options.c_cflag |=CS8;//8位數(shù)據(jù)位
            cfsetispeed(new_options,B4800);//設(shè)置波特率4800bit/s
            cfsetospeed(new_options,B4800);
            tcflush(fd,TCIOFLUSH);
            tcsetattr(fd,TCSANOW,new_options);//設(shè)置新的設(shè)備方式

              完成串口設(shè)置后,就可以使用read( )、write( )函數(shù)對(duì)串口進(jìn)行操作。需注意的是,串口默認(rèn)是阻塞型的,當(dāng)沒有數(shù)據(jù)到達(dá)時(shí),將會(huì)阻塞掛起,這時(shí)可以通過多線程編程、串口超時(shí)設(shè)定或使用select輪詢等方式進(jìn)行調(diào)整控制。本系統(tǒng)主要采用多線程編程實(shí)現(xiàn)對(duì)串口阻塞的調(diào)控,使用的是QT的Qthread類,也可以直接使用Linux自身的多線程函數(shù)進(jìn)行操作。

            3)QT/Embedded編程

              Qt/Embedded是著名的Qt庫開發(fā)商TrollTech正在進(jìn)行的基于framebuffer的面向嵌入式系統(tǒng)的Qt版本。因其面向?qū)ο?、跨平臺(tái)和界面設(shè)計(jì)方便美觀而得到廣泛應(yīng)用。

              本設(shè)計(jì)采用QT/Embedded 3.3.4版本,它支持SQLITE數(shù)據(jù)庫驅(qū)動(dòng),便于數(shù)據(jù)庫操作與編程。設(shè)計(jì)主要使用了QTE的畫布模塊、SQL模塊和網(wǎng)絡(luò)模塊。畫布模塊中,QCanvas庫是一個(gè)高度優(yōu)化的二維繪圖庫,與其它畫布模塊結(jié)合使用,能很方便地實(shí)現(xiàn)導(dǎo)航地圖的顯示、縮放、漫游以及鷹眼等功能。而SQL模塊和網(wǎng)絡(luò)模塊能很方便地實(shí)現(xiàn)數(shù)據(jù)庫編程和網(wǎng)絡(luò)通信功能,極大地縮短了程序的開發(fā)周期,提高了開發(fā)效率。

            初步實(shí)現(xiàn)

              定位誤差主要取決于-OEM模塊的定位精度,實(shí)驗(yàn)顯示本系統(tǒng)能初步滿足對(duì)的需求。


            結(jié)束語

              本文提出了一套基于嵌入式Linux系統(tǒng)的物流信息化終端的設(shè)計(jì)方案,并對(duì)其進(jìn)行了初步實(shí)現(xiàn)。實(shí)驗(yàn)證明:系統(tǒng)定位數(shù)據(jù)精確、界面友好、系統(tǒng)可擴(kuò)展性強(qiáng),較好地完成了物流信息化終端。本系統(tǒng)可用于物流終端定位導(dǎo)航,也可適用于其它需要定位導(dǎo)航服務(wù)的場(chǎng)合,具有較普遍的適用價(jià)值和參考價(jià)值。


            上一頁 1 2 下一頁

            評(píng)論


            相關(guān)推薦

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

            關(guān)閉