GPS定位¶
本文档介绍了GPS定位的大致功能,通过demo_gps.c进行举例演示,本文中所指的GPS即为GNSS
工作原理¶
- 模组通过UART2与GPS模块通信, 获取GPS NMEA数据并解析。
 - gps tools iNavTool_V4207工具,与模组UART1连接,获取NMEA数据,显示卫星个数、信号、定位信息等,并且可以通过UART1下发命令,如热启动,冷启动等,通过UART1口转发给GPS
 - Agps, 将时间,位置,星历数据通过UART2注入GPS芯片
 
 时间使用的是系统本地时间
 位置,通过基站定位获取, 需要通过agps_token_set接口设置基站定位的token id, 如果不设置辅助定位缺少位置信息注入
 星历2个小时更新一次, 5分钟检测一次有效期

准备工作¶
在使用GPS功能之前,请将定位器连接到开发板的GNSS接口,天线连接至网络天线接口,插入SIM卡, GNSS 本身可以在不联网的情况下完成基本的定位功能,但联网能够为其提供额外的辅助,提升定位的速度、精度和可靠性。

开发板通过UART1与电脑连接,gps tools iNavTool_V4207工具通过UART1获取信息,下发命令

GPS接口介绍¶
初始化GPS系统¶
- GPS初始化
 
gps_init();
- AGPS初始化
 
agps_init();
- 初始化GPS TOOLS
 
gps_tools_init();
注册 AGPS 回调函数¶
- 向GPS注入辅助定位信息时,会有对应的上报
 
agps_register_callback(AGPS_CALLBACK cb);
设置TOKEN¶
- 设置基站定位的TOKEN
 
agps_token_set(char *token);
启动定位功能¶
- 打开GPS
 
gps_open();
- AGPS使能
 
agps_enable(bool time_enable, bool location_enable, bool eph_enable);
参数:
| 参数 | 说明 | 
|---|---|
| time_enable | 时间使能 | 
| location_enable | 位置使能 | 
| eph_enable | eph使能 | 
获取GPS数据¶
- 获取NMEA解析后的数据
 
gps_get_data();
关闭GPS¶
- 关闭GPS
 
gps_close(bool vbckp_off)
参数:
| 参数 | 说明 | 
|---|---|
| vbckp_off | 是否关闭GPS VBCKP  不关闭可以热启动  | 
固件烧录¶
编译命令:.\build.bat YM310_X09S.U62 gps
- 编译成功后烧录至开发板,具体过程参考Yopen 入门篇开发入门
 - 打开EPAT工具查看打印log,工具使用方法请参考工具篇抓日志工具EPAT使用指南
 
举例演示¶
Gps tools工具显示

日志显示
解析NMEA数据并输出

Agps 辅助定位注入成功日志

也可以通过工具查询AGPS状态
