没有合适的资源?快使用搜索试试~ 我知道了~
ATK-NEO-6M GPS模块使用说明_AN13031
需积分: 0 0 下载量 100 浏览量
2022-08-03
12:27:05
上传
评论
收藏 796KB PDF 举报
温馨提示
试读
16页
ATK-NEO-6M 模块非常小巧(25.5mm*31mm),模块通过 4 个 2.54mm 间距的排针与外部连接,模块外观如图 1.1 所示:图 1.1 中,
资源推荐
资源详情
资源评论
AN1303 ATK-NEO-6M GPS 模块使用
本应用文档(AN1303,对应战舰 STM32 开发板扩展实验 3/MiniSTM32 开发板扩展实验
23)将教大家如何在 ALIENTEK STM32 开发板上使用 ATK-NEO-6M GPS 模块(注意,本文档同
时适用 ALIENTEK 战舰和 MiniSTM32 两款开发板),并实现 GPS 定位。
本文档分为如下几部分:
1, ATK-NEO-6M GPS 模块简介
2, 硬件连接
3, 软件实现
4, 验证
1、ATK-NEO-6M GPS 模块简介
ATK-NEO-6M 模块,是 ALIENTEK 生产的一款高性能 GPS 模块,模块核心采用 UBLOX 公
司的 NEO-6M 模组,具有 50 个通道,追踪灵敏度高达-161dBm,测量输出频率最高可达 5Hz。
ATK-NEO-6M 模块自带高性能无源陶瓷天线(无需再购买昂贵的有源天线了),兼容 3.3V 和
5V 单片机系统,并自带可充电后备电池(支持温启动或热启动)。
ATK-NEO-6M 模块非常小巧(25.5mm*31mm),模块通过 4 个 2.54mm 间距的排针与外
部连接,模块外观如图 1.1 所示:
图 1.1 ATK-NEO-6M 模块外观图
图 1.1 中,从右到左,依次为模块引出的 PIN1~PIN4 脚,各引脚的详细描述如表 1.1 所
示:
序号
名称
说明
1
RXD
模块串口接收脚(TTL 电平,不能直接接 RS232 电平!),可接单片机的 TXD
2
TXD
模块串口发送脚(TTL 电平,不能直接接 RS232 电平!),可接单片机的 RXD
3
GND
地
4
VCC
电源(2.7V~5.0V)
表 1.1 ATK-NEO-6M 模块各引脚功能描述
另外,模块自带了一个状态指示灯:PPS。该指示灯连接在 UBLOX NEO-6M 模组的
TIMEPULSE 端口,该端口的输出特性可以通过程序设置。PPS 指示灯,在默认条件下(没经
过程序设置),有 2 个状态:
1, 常亮,表示模块已开始工作,但还未实现定位。
2, 闪烁(100ms 灭,900ms 亮),表示模块已经定位成功。
这样,通过 PPS 指示灯,我们就可以很方便的判断模块的当前状态,方便大家使用。
ATK-NEO-6M 模块默认采用 NMEA-0183 协议输出 GPS 定位数据,并可以通过 UBX 协议
对模块进行配置,NMEA-0183 协议详细介绍请参考《ATK-NEO-6M 用户手册.pdf》,UBX 配置
协议,请参考《u-blox6_ReceiverDescriptionProtocolSpec_GPS.G6-SW-10018-C.pdf》。
通过 ATK-NEO-6M GPS 模块,任何单片机(3.3V/5V 电源)都可以很方便的实现 GPS 定位,
当然他也可以连接电脑,利用电脑软件实现定位。ATK-NEO-6M-V12 GPS 模块的原理图如图
1.2 所示:
图 1.2 ATK-NEO-6M GPS 模块原理图
2、硬件连接
本实验功能简介:通过串口 2 连接 ATK-NEO-6M GPS 模块,然后通过液晶显示 GPS 信息,
包括精度、纬度、高度、速度、用于定位的卫星数、可见卫星数、UTC 时间等信息。同时,
可以通过 USMART 工具,设置 GPS 模块的刷新速率(最大支持 5Hz 刷新)和时钟脉冲的配
置。另外,通过 KEY0 按键,可以开启或关闭 NMEA 数据的上传(即输出到串口 1,方便开
发调试)。
所要用到的硬件资源如下:
1, 指示灯 DS0
2, KEY0 按键
3, 串口 1、串口 2
4, TFTLCD 模块
5, ATK-NEO-6M GPS 模块
接下来,我们看看 ATK-NEO-6M GPS 模块同 ALIENTEK STM32 开发板的连接,前面我们介
绍了 ATK-NEO-6M 模块的接口,我们通过杜邦线连接模块和开发板的相应端口,连接关系如
表 2.1 所示:
ATK-NEO-6M GPS 模块与开发板连接关系
ATK-NEO-6M GPS 模块
VCC
GND
TXD
RXD
ALIENTEK STM32 开发板
3.3V/5V
GND
PA3
PA2
表 2.1 ATK-NEO-6M 模块同 ALIENTEK STM32 开发板连接关系表
表中 ATK-NEO-6M GPS 模块的 VCC,因为我们的模块是可以 3.3V 或 5V 供电的,所以可
以接开发板的 3.3V 电源,也可以接开发板的 5V 电源,这个随便大家自己选择。
模块与开发板的连接是很简单,不过这里特别提醒大家:
1, 请把 GPS 模块放到窗户边/阳台,否则可能收不到 GPS 信号。
2, 如果想在室内开发,可以考虑使用 ALIENTEK 提供的蓝牙串口模块(ATK-HC05),这
样,我们可以将 GPS 放到户外/窗口,而仍然在室内进行程序的调试开发。
3, 如果使用的是战舰板,请把战舰 STM32 开发板 P9 端口的 PA2、PA3 与 48T、48R 的
跳线帽拔了!!否则开发板可能会检测不到 ATK-HC05 模块。
3、软件实现
本实验(注:这里仅以战舰板代码为例进行介绍,MiniSTM32 开发板对应代码几乎一
模一样,详见 MiniSTM32 开发板扩展实验 23),我们在扩展例程 1:ATK-HC05 蓝牙串口
模块实验的基础上修改,在 HARDWARE 文件夹里面新建一个 GPS 文件夹,并新建 gps.c,
gps.h 两个文件。然后在工程 HARDWARE 组里面添加 gps.c,并在工程添加 gps.h 的头文件
包含路径。
在 gps.c 里面,我们输入如下代码:
#include "gps.h"
#include "led.h"
#include "delay.h"
#include "usart2.h"
#include "stdio.h"
#include "stdarg.h"
#include "string.h"
#include "math.h"
//从 buf 里面得到第 cx 个逗号所在的位置
//返回值:0~0XFE,代表逗号所在位置的偏移.
// 0XFF,代表不存在第 cx 个逗号
u8 NMEA_Comma_Pos(u8 *buf,u8 cx)
{
u8 *p=buf;
while(cx)
{
if(*buf=='*'||*buf<' '||*buf>'z')return 0XFF;
//遇到'*'或非法字符,则不存在第 cx 个逗号
if(*buf==',')cx--;
剩余15页未读,继续阅读
资源评论
会飞的黄油
- 粉丝: 22
- 资源: 303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 南京邮电大学数学实验:熟练掌握 Matlab 软件的基本命令和操作
- 2017校招真题校园招聘真题算法题(37道)Python源码.zip
- 基于单片机protues仿真的多功能自动饮水机系统设计(仿真图、源代码、演示视频)
- 二叉树7-1-1.cpp
- android 9.0 原生模拟器 签名文件
- 技术面试最后反问面试官的话 校招面试非技术问题有哪些 非技术问题如何回答.png
- NB-IOT-BC26全网通模块Altium+ CADENCE +PADS三种格式(原理图SCH+PCB封装库)文件.zip
- 基于微信小程序开发的校园失物招领系统源码毕业设计(优质项目源码).zip
- 词向量是一种将自然语言中的单词转换为数值向量的技术,它能够捕捉词义和上下文信息
- nmap与masscan的简单使用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功