先說一下主要是做了些什麼,便于了解。
Ublox子產品能擷取到經緯度等資訊,上電後便按照設定的資料格式通過既定的接口不停的往外吐資料(1Hz?)
我們要做的就是接收并解析這些資料來獲得我們需要的資料。
工具資料分享
硬體環境:Ublox NEO-7 GPS
資料接口:USRT(查資料還看到可以用SPI的,傳送門)
協定分析:手邊有一份協定分析的資料
測試軟體:u-Center
我是怎麼做的
目标是擷取經緯度的參數。
百度到的大部分都是使用NMEA協定,找到NMEALIB的代碼看了半天大概了解了這種協定的格式,感覺這種格式更适合于給人看,而不是給MCU做處理。
在U-center裡面,View–Message View裡面能看到和設定協定,輸出格式等。
看到下面的UBX,便使用協定分析的文檔看了一下UBX的資料格式,搜尋能輸出經緯度資訊的指令,選中了UBX-NVA-POSLLH。

設定好需要的格式之後。
在UBX-CFG-CFG裡選中Save current configuration,然後Send儲存即可。
總結
對于NMEA,UBX,RTCM的了解:
NMEA:資料比較全,但資料量大,分析困難,适用于上位機X86
RTCM3:沒接觸..
UBX:比較靈活,适用于嵌入式平台,解析資料友善。