GP-01是一種高性能BDS/GNSS多星座衛(wèi)星導(dǎo)航接收機SOC模塊。
利用STM32和GP-01定位模塊獲取經(jīng)緯度信息
GP-01模塊簡介
GP-01是一種高性能BDS/GNSS多星座衛(wèi)星導(dǎo)航接收機SOC模塊。
它集成了射頻前端、數(shù)字基帶處理器、32位RISC CPU、電源管理和有源天線檢測和保護功能。它支持多種衛(wèi)星導(dǎo)航系統(tǒng),包括中國的BDS,美國的GPS和俄羅斯的GLONASS,實現(xiàn)多系統(tǒng)聯(lián)合定位。
本文以GP-01 - Kit開發(fā)板為例,介紹如何通過STM32獲取GP-01的經(jīng)緯度信息。
1. 硬件準備
該驅(qū)動程序涉及的硬件包括GP-01-Kit, stm32f103c8t6最小系統(tǒng)板,USB - TTL轉(zhuǎn)換器,ST - Link和幾根跳線。
1.1 GP-01 - Kit
GP-01開發(fā)板需要5V電源。
1.2 STM32F103C8T6核心板或最小開發(fā)板
編程可以通過串行端口或使用ST - Link或J - Link來完成。
1.3布線
GP-01 - Kit開發(fā)板與STM32F103C8T6之間以及STM32F103C8T6與USB - TTL轉(zhuǎn)換器之間的接線如下表所示。
另外,請使用Android線纜將GP-01-Kit與串口連接,為設(shè)備供電。
2. 軟件準備
2.1 MDK (Keil v5)
下載方法請參考在線示例。
2.2串口調(diào)試助手(SSCOM)
用于查看STM32 UART驅(qū)動器從GP-01獲取的經(jīng)緯度輸出信息。
3. n mea
GP-01支持NMEA - 0183協(xié)議,上電后將數(shù)據(jù)輸出到串口。該數(shù)據(jù)采用所有GPS接收機的格式,是最通用的數(shù)據(jù)輸出格式。NMEA - 0183協(xié)議定義了許多語句,但最常用和最廣泛兼容的是GPGGA、GPGSA、GPGSV、GPRMC、GPVTG和GPGLL。要獲取經(jīng)緯度,請關(guān)注$GNRMC信息。
GPRMC協(xié)議如下:
GPRMC(建議使用最小的GPS數(shù)據(jù)格式)
GPRMC美元,< 1 >,< 2 >,< 3 >,< 4 >,< 5 >,< 6 >,< 7 >,< 8 >,< 9 >,< 10 >,< 11 >
(1)標準定位時間(UTC時間)格式:hmmss.sss。
(2)定位狀態(tài),A =有數(shù)據(jù),V =無數(shù)據(jù)。
(3)緯度,格式:ddmm.mm。
(4)緯度半球,北半球用N,南半球用S。
(5)經(jīng)度,格式:dddmm.mmmm。
(6)經(jīng)度半球,東半球為E,西半球為W。
(7)相對航速:0.0至1851.8節(jié)。
(8)相對航跡良好,000.0至359.9度。實際值。
(9)日期格式:ddmyy。
(10)磁差:0000.0 ~ 180.0。
(11)度。
(12)校驗和。
4. STM32程序?qū)崿F(xiàn)
源代碼獲取方法:
提取代碼:AIXK
4.1串口編碼
GPS和STM32之間的通信使用UART3。下面是UART3的初始化代碼:
UART3使用基于中斷的接收將數(shù)據(jù)存儲在緩沖區(qū)中。代碼如下:
4.2 GPS編碼
在gps.h中,定義了一個結(jié)構(gòu)來存儲解析后的數(shù)據(jù):
解析GPS數(shù)據(jù):
4.3主要功能
5. 實現(xiàn)結(jié)果
獲得的定位數(shù)據(jù)如下:
本文編譯自hackster.io