<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > GPS模塊與ARM-Linux平臺數據傳送研究

GPS模塊與ARM-Linux平臺數據傳送研究

作者: 時(shí)間:2011-09-06 來(lái)源:網(wǎng)絡(luò ) 收藏
下面是程序實(shí)現的關(guān)鍵函數部分代碼。

本文引用地址:http://dyxdggzs.com/article/155815.htm

  /*包含必要的頭文件*/

  #include

  #include

  #include

  #include

  #include

  #include

  #include

  int _Initial(int n_tty_no)

  {

  int ret_tty=-1;

  int ret_thread=-1;

  ret_tty=OpenComPort(n_tty_no,9600,8,“1”,‘N’);/*打開(kāi)串口,并設置通信屬性,如波特率,位,有無(wú)奇偶校驗,停止位等*/

  ret_thread=pthread_create(pthr_id,NULL,_

  Thread_Port_Svc,NULL);/*創(chuàng )建接收線(xiàn)程*/

  …

  }

  void*_Thread_Port_Svc(void*pData)

  {/*接收線(xiàn)程函數*/

  unsigned char buf_GPS[256];

  int ret_rd_com;

  while(1) {

  bzero(buf_GPS,sizeof(buf_GPS));

  ret_rd_com=ReadComPort((void*)buf_GPS,

  sizeof(buf_GPS));/*讀串口,接收*/

  GPS_Parse_Data(buf_GPS,gps_data);

  /*調用解析語(yǔ)句函數,*/

  …}

  在GPS_Parse_Data(buf_GPS,gps_data)函數中每接收一個(gè)GPS語(yǔ)句,調用一次字符串解析函數。

  GPS_Parse_Data_Line(char*str_gprs_data_line,GPS_DATA_TYPE*GPS_DATA){

  char*temptr;

  temptr=str_gprs_data_line;

  /*字符串賦給臨時(shí)指針,然后對其解析*/

  if(strncmp(temptr,RMC_DATA_L,strlen(RMC_DATA_L))==0) {/*解析RMC語(yǔ)句串*/

  startchar(temptr,',');

  temptr=temptr+strlen(temptr)+12;

  /*$GPRMC,HHMMSS.SSS*/

  GPS_DATA->Time.Flag=temptr[0];

  temptr=temptr+27;

  /*A,DDMM.MMMM,N,DDDMM.MMMM,E*/

  …}

  以上只是GPS信息處理的部分代碼。經(jīng)過(guò)交叉編譯調試下載至目標上,運行后可得到本地地理位置信息。實(shí)驗所得為:時(shí)間10:28:35;緯度:北緯30°46’;經(jīng)度:東經(jīng)103°57’。用戶(hù)也可以根據需要選擇提取GPS的其他語(yǔ)句,只需編寫(xiě)解析相應語(yǔ)句字符串的代碼即可。4.2 GPS坐標的轉換

  上述所得的結果屬于WGS84坐標,而在工程上實(shí)用的大多是國家坐標系,因此GPS數據采集結果的使用就存在與國家坐標系間的坐標轉換問(wèn)題。一般要通過(guò)兩步轉換:首先將上述實(shí)測經(jīng)緯度坐標即WGS84大地坐標(L,B)轉換為對應于WGS84橢球的高斯平面坐標(X84,Y84),然后再經(jīng)過(guò)平面坐標轉換,將高斯平面坐標(X84,Y84)強制附合到本地高斯平面坐標系統[4]。

  (1)高斯投影換算

  將GPS采集所得出的大地坐標(L,B)轉換為高斯平面坐標(X84,Y84)。有關(guān)的推導過(guò)程較復雜,本文只給出結果:

  

  由上述原理利用EXCEL就可以算出對應的高斯平面坐標。

  (2)平面坐標轉換

  平面坐標轉換的目的就是將高斯投影換算得出平面坐標(X84,Y84)轉換為當地國家坐標系的平面坐標。下面介紹一種平均轉軸相似轉換法,以轉換為北京54坐標系下的平面坐標(X54,Y54)為例,說(shuō)明該方法實(shí)現過(guò)程。

  首先,根據公共點(diǎn)分別在WGS84和北京54系中的高斯平面坐標,求出該點(diǎn)在兩個(gè)坐標系中同一邊的方位角之差?駐?琢和長(cháng)度比例系數?資,然后按下式計算任一點(diǎn)在北京54系中的平面坐標。

  

  將得到的X54,Y54坐標可應用于GIS系統標圖,實(shí)現導航定位。

  ?;贜MEA-0183通信協(xié)議,在Linux下通過(guò)多線(xiàn)程編程實(shí)現了GPS基本定位信息的采集與處理,所得數據滿(mǎn)足精度要求,為導航定位系統或GIS系統提供了數據基礎。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>