基于DSP的GPGGA定位數(shù)據(jù)提取源程序(代碼).doc_第1頁(yè)
基于DSP的GPGGA定位數(shù)據(jù)提取源程序(代碼).doc_第2頁(yè)
基于DSP的GPGGA定位數(shù)據(jù)提取源程序(代碼).doc_第3頁(yè)
基于DSP的GPGGA定位數(shù)據(jù)提取源程序(代碼).doc_第4頁(yè)
基于DSP的GPGGA定位數(shù)據(jù)提取源程序(代碼).doc_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

溫泉源:基于DSP的GPGGA定位數(shù)據(jù)提取基于DSP的GPGGA定位數(shù)據(jù)提取源程序(完整)附 錄 源程序#include #include mmdrv.h #include mcbsp.h /串口頭文件 #include cpu_reg.h #include lcd_86.h #define uint16 unsigned int#define uint8 unsigned char ioport unsigned portefff;#define IO_374 portefff void init_exint1_interrupt();void init_GPIO(void); void uart_rece_data_parse(void);/數(shù)據(jù)解析函數(shù)void uart_trans(void); void uart_trans_byte(unsigned int data);unsigned int flag=0xffff;char tx_re_buf1=0x38;/*/* welcome interface */*/void display()LCD_clear(0);cur_row=0; cur_col=50; LCD_pr_chars( Parse GPGGA data,20);cur_row=1; cur_col=0; LCD_pr_chars(*,22);cur_row=2; cur_col=0; LCD_pr_chars(Press key1:tm,lat,lon,hght,26);cur_row=3; cur_col=0; LCD_pr_chars(Press key2:for more data,25);cur_row=4; cur_col=11;LCD_pr_chars(please work harder,25);void main(void)unsigned int key_val;unsigned int i,j; SWWSR = 0x7fff; SWCR = 0x0001; BSCR = 0x8006; CLKMD = PLL_DIV_INIT; waitloop( 0x0400 ); CLKMD = PLL_LOCK_INIT_X(14); waitloop( 0x0400 ); PMST = 0x0168;IO_374=0xffff;/374 enable init_exint1_interrupt(); init_GPIO(); init_lcd();display(); /顯示菜單 Close_LED_sign(); Close_LED_Data(); Close_LED_Traf(); waitloop( 0x0400 ); while(1)flag=0xffff; /*消抖*/i=Get_Key(); waitloop( 0x040000L );j=Get_Key(); if(i=j) key_val=j;/*保存 key_val*/ while(Get_Key() asm(tnop); /wait blank_key switch(key_val) default: break; case 1: LCD_clear(0); /清屏 uart_rece_data_parse(); /提取海拔,時(shí)間,緯度,經(jīng)度 break; case 17:display();break; /*/* initial interrrupt */*/ void init_exint1_interrupt() IFR =0xffff; IMR =0x0002;/TINT=IMR.3EXINT1=IMR.1asm(trsbxtintm ); interrupt void EXINT1_isr() Close_LED_sign(); Close_LED_Data(); Close_LED_Traf();asm(tnop); /中斷處理函數(shù)asm(tnop);flag=0; cur_row=7; cur_col=15; LCD_pr_chars( Uart_Stop ,17); /*/* initial GPIO */*/ void init_GPIO(void) GPIOCR =0xfffe; /EXINT1=GPIO.0=input=0,nand_cs=GPIO.6=output=1 GPIOSR =0x0040; /GPIO.6=output=1 /*/* pare GPGGA data */*/void uart_rece_data_parse(void) unsigned int ii;unsigned int jj;unsigned char data300;unsigned int tm7,latitude10,lontitude11,height8,EW2,NS2;unsigned int locate=0;unsigned int comma=0;unsigned int data_num=0;char chartable10=0,1,2,3,4,5,6,7,8,9;Uart_Init(); for(ii=0;ii300;ii+)/清空數(shù)據(jù)緩沖區(qū) dataii =0; while(1)dojj = Uart_rx(); if(!flag) asm(tnop); break; while(jj=0xFFFF); if(locate300)/存儲(chǔ)接收到的數(shù)據(jù)datalocate =jj; locate+;elseii=0;while(1) if(dataii=36) /$ if(ii+1)300&dataii+1=71)/G if(ii+2)300&dataii+2=80)/P if(ii+3)300&dataii+3=71)/G if(ii+4)300&dataii+4=71)/G if(ii+5)300&dataii+5=65)/A break; /判斷是否為GPGGA數(shù)據(jù) ii+; ii+=6; for(;ii300;ii+) if(dataii=36) break; /$ if(comma=1)/獲取時(shí)間 tmdata_num=dataii; data_num+; else if(comma=2)/獲取緯度 latitudedata_num=dataii; data_num+; else if(comma=3)/獲取南北緯標(biāo)志位 NSdata_num=dataii; data_num+; else if(comma=4)/獲取經(jīng)度 lontitudedata_num=dataii; data_num+; else if(comma=5)/獲取東西經(jīng)標(biāo)志位 EWdata_num=dataii; data_num+; else if(comma=9) heightdata_num=dataii; data_num+; if(dataii=44)/判斷是否為逗號(hào) comma+; data_num=0;/從逗號(hào)后第一個(gè)字節(jié)開(kāi)始存儲(chǔ)數(shù)據(jù) /LCD顯示提取信息cur_col=50;cur_row=0;LCD_pr_chars(GPGGA,5);cur_col=0;cur_row=1;LCD_pr_chars(*,23); cur_col = 1; cur_row =2; LCD_pr_chars(Time:,5); LCD_nextchar(chartabletm0-48); LCD_nextchar(chartabletm1-48); LCD_nextchar(:); LCD_nextchar(chartabletm2-48); LCD_nextchar(chartabletm3-48); LCD_nextchar(:); LCD_nextchar(chartabletm4-48); LCD_nextchar(chartabletm5-48); cur_col = 1; cur_row = 3; LCD_pr_chars(Latitude:,9); for(ii=0;ii9;ii+) if(latitudeii=46) LCD_nextchar(.); else LCD_nextchar(chartablelatitudeii-48); if(NS0=78) LCD_nextchar(N); else LCD_nextchar(S); cur_col = 1; cur_row = 4; LCD_pr_chars(Longitude:,10); for(ii=0;ii9;ii+) if(lontitudeii=46) LCD_nextchar(.); else LCD_nextchar(chartablelontitudeii-48); if(EW0=69) LCD_nextchar(E); else LCD_nextchar(W); cur_col = 1; cur

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論