在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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è)計應(yīng)用 > 基于北斗二代的飛機除冰車定位系統(tǒng)設(shè)計

            基于北斗二代的飛機除冰車定位系統(tǒng)設(shè)計

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

            3.2 系統(tǒng)制作

            本文引用地址:http://www.biyoush.com/article/201610/305617.htm

            Linux系統(tǒng)開發(fā)主要包括bootloader制作、Linux內(nèi)核裁剪、字符設(shè)備驅(qū)動的添加及根文件系統(tǒng)的制作。

            系統(tǒng)采用u-boot-1.1.6源碼制作bootloader,主要完成對于硬件的初始化及運行代碼的搬移工作,在u-boot的設(shè)計中,需使用軟浮點交叉編譯器進行編譯;內(nèi)核以Linux-2.6.31源碼為基礎(chǔ)進行裁剪編譯,添加對于NAND FLASH、LCD等硬件及Yaffes2文件系統(tǒng)的支持,并添加DS18B20及A/D驅(qū)動程序;根文件系統(tǒng)采用Yaffes2文件系統(tǒng)進行制作,Yaffes2文件系統(tǒng)為專門針對NAND FLASH所設(shè)計的文件系統(tǒng)。

            3.3 應(yīng)用程序

            應(yīng)用程序主要實現(xiàn)TCP/IP連接及數(shù)據(jù)采集與發(fā)送。應(yīng)用程序流程框圖如圖6所示。

            基于北斗二代的飛機除冰車定位系統(tǒng)設(shè)計

            程序采用多線程技術(shù)實現(xiàn)對于數(shù)據(jù)的采集與發(fā)送。在車載端上電后A通過向串口發(fā)送AT指令實現(xiàn)車載端與上位機的連接。在連接成功后,線程啟動開始工作。

            程序定義一個全局變量buf[],用于存儲、發(fā)送采集到的數(shù)據(jù),并利用多線程技術(shù)實現(xiàn)對于buf[]的操作,通過信號量實現(xiàn)對于數(shù)據(jù)采集與發(fā)送的同步操作。首先初始化兩個信號量:sere1和sere2。代碼如下:

            sem_init(sem1,0,1);

            sem_init(sem2,0,0);

            程序首先對sem1、sem2進行P操作,此時sem1=0,sem20,數(shù)據(jù)采集線程執(zhí)行,對數(shù)據(jù)進行采集并放入全局變量buf[]中,而后對sem2進行V操作sem2=0,數(shù)據(jù)發(fā)送線程執(zhí)行,將數(shù)據(jù)發(fā)送至上位機,并對sem1進行V操作,sem1變?yōu)?,此時重復(fù)執(zhí)行之前的步驟對數(shù)據(jù)進行采集與發(fā)送。通過對線程的PV操作實現(xiàn)數(shù)據(jù)采集線程與發(fā)送線程對全局變量buf[]的順序訪問。

            但由于GTM900B是以ASCII碼的形式發(fā)送數(shù)據(jù),因而在數(shù)據(jù)傳輸前需對數(shù)據(jù)進行格式轉(zhuǎn)化。數(shù)據(jù)轉(zhuǎn)換程序如下:

            for(i=0;i2024;i++){

            if(*g!=‘