新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于北斗二代的飛機(jī)除冰車定位系統(tǒng)設(shè)計(jì)

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

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

        3.2 系統(tǒng)制作

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

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

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

        3.3 應(yīng)用程序

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

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

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

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

        sem_init(sem1,0,1);

        sem_init(sem2,0,0);

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

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

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

        if(*g!=‘

        主站蜘蛛池模板: 孙吴县| 鹰潭市| 南漳县| 乐东| 辰溪县| 义乌市| 扶绥县| 临汾市| 亚东县| 张家港市| 阿克| 北辰区| 拉萨市| 铜川市| 威远县| 汉源县| 宁乡县| 红安县| 泰和县| 闸北区| 托里县| 小金县| 古田县| 家居| 新丰县| 顺昌县| 云林县| 重庆市| 临海市| 疏附县| 商丘市| 永平县| 南昌市| 揭西县| 隆化县| 驻马店市| 察隅县| 元朗区| 无为县| 建阳市| 利辛县|