🧪 新教程持续更新中 · 从机械臂到传感器,跟着教程从零搭建
跳到主要内容

STM32F103:GPS 解析输出 ​

1. 学习目标

本次课程我们主要学习使用STM32F103C8T6和GPS模块模块实现位置信息解析输出功能。

2. 课前准备

GPS模块采用的是UART和USB通讯,这里使用STM32的UART口读取信息,将模块的TXD连接STM32F103C8T6板子的PA10引脚。VCC和GND分别连接STM32F103C8T6的5V和GND;TTL模块的GND和RXD分别与STM32的GND和PA9连接。

图 1

3. 程序

模块的波特率为9600。

图 2

读取并解析接收到的数据。

图 3

将经纬度信息的单位转化为度

图 4

通过串口打印接收到的数据。

图 5

注意:其实GPS/北斗定位的坐标系值并不是简单的100倍关系,而是需要做一次度分秒的转换的。则我们获取的GPS/北斗坐标值,如北纬2429.53531,东经11810.78036,需要做如下计算:24+(29.53531/60)≈ 24.49225517 118+(10.78036/60)≈118.17967267。并且不同单片机可能存在数据转化精度的问题而存在一定误差。

4. 实验现象

模块通电后,需要32s左右的时间启动,之后模块上的串口打印状态灯会持续闪烁,此时可以正常接收数据。

程序下载后运行,打开串口软件,波特率设置为9600,串口会循环打印现在的位置信息。

图 6

注意,模块天线需要在室外,否则可能搜索不到GPS信号。