VG7669T160N0MA模组能够实现单系统定位吗

Viewed 9

比如只需要GPS的定位信息

1 Answers

这个就是单独工作的,只不过模块不是直接输出经纬度数据,需要外部处理器解析出经纬度数据。
模块输出的原始数据:

$GNGGA,,,,,,0,00,25.5,,,,,,*64
$GNGLL,,,,,,V,N*7A
$GNGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5,1*01
$GNGSA,A,1,,,,,,,,,,,,,25.5,25.5,25.5,4*04
$GPGSV,1,1,00,0*65
$BDGSV,1,1,00,0*74
$GNRMC,,V,,,,,,,,,,N,V*37
$GNVTG,,,,,,,,,N*2E
$GNZDA,,,,,,*56
$GPTXT,01,01,01,ANTENNA OPEN*25

如果要得到经纬度数据,可以参考例程http://git.cloudpeaks.cn/droplin/VGKitBoard_7669T,在回调函数display_navdata中就可以得到经纬度等信息。

#include "nmeaparser.h"
struct nmea_parser parser[1];
extern void decodeGnss(char *src);
/*
 * Print navigation data and wait for user's keystroke
 * @navdata:    the navigation data
 */
void display_navdata(struct nav_data *navdata) {
        // printf("NAVDATA:\n");
        // printf("NAVDATA.FIX_VALID = %d\n", navdata->is_fixed);
        // printf("NAVDATA.DATE = %d-%02d-%02d\n", navdata->date.year, navdata->date.month, navdata->date.day);
        // printf("NAVDATA.TIME= %02d:%02d:%02d.%03d\n", navdata->time.hour, navdata->time.minute, navdata->time.second, navdata->time.ms);
        // printf("NAVDATA.LAT = %.6f\n", navdata->lat);
        // printf("NAVDATA.LON = %.6f\n", navdata->lon);
        // printf("NAVDATA.ALT = %.2f\n", navdata->alt);
        // printf("NAVDATA.HEADING = %.2f\n", navdata->heading);
        // printf("NAVDATA.SPEED = %.2f\n", navdata->speed);
        // printf("NAVDATA.HDOP = %.1f\n", navdata->hdop);
        // printf("NAVDATA.VDOP = %.1f\n", navdata->vdop);
        // printf("NAVDATA.PDOP = %.1f\n", navdata->pdop);
        // printf("NAVDATA.NUM_SV_FIX = %d\n", navdata->sv_inuse);
        // printf("NAVDATA.NUM_SV_VIEW = %d\n", navdata->sv_inview);
}
void main()
{
    nmea_parser_init(parser);
    parser->report_nav_status = display_navdata; 
    while(1)
      {
            if (uart3Packet.isValid)
            {
                for (int i = 0; i < uart3Packet.len; i++)                     // parse nmea data
                     nmea_parser_putchar(parser, uart3Packet.packet[i]);
                uart3Packet.isValid = false;
                uart3Packet.len = 0;
                memset(uart3Packet.packet, 0, sizeof(uart3Packet.packet));
            }
      }
}

Related