Программирование Arduino для вывода сообщений UBX с использованием getRXMRAWX()
Я пытаюсь получить сообщения UBX вместо NMEA. Я придумал код, который, я уверен, не сработает, потому что я полный новичок.
Мой приемник GNSS — ZED_fp9 Arduino MEGA 2560. Они подключены через I2C`#include <Wire.h> //Необходимо для I2C к GPS #include <SparkFun_u-blox_GNSS_Arduino_Library.h> SFE_UBLOX_GNSS myGNSS;
long lastTime = 0; //Simple local timer. Limits amount if I2C traffic to Ublox module.
void setup()
{Serial.begin(9600); пока (!Серийный); //Подождите, пока пользователь откроет терминал Serial.println("Пример SparkFun Ublox");
Wire.begin();
if (myGNSS.begin() == false) //Connect to the Ublox module using Wire port
{ Serial.println(F("Ublox GPS не обнаружен по адресу I2C по умолчанию. Пожалуйста, проверьте проводку. Зависание."); пока (1); }
myGNSS.setI2COutput(COM_TYPE_UBX); //Set the I2C port to output UBX only (turn off NMEA noise)
myGNSS.saveConfiguration(); //Save the current settings to flash and BBR
}
void loop()
{ //Запрашивать модуль только каждую секунду. Делая это чаще, вы просто вызовете трафик I2C. //Модуль отвечает только тогда, когда доступна новая позиция
if (millis() - lastTime > 1000)
{
lastTime = millis(); //Update the timer
long latitude = myGNSS.getLatitude();
Serial.print(F("Lat: "));
Serial.print(latitude);
long longitude = myGNSS.getLongitude();
Serial.print(F(" Long: "));
Serial.print(longitude);
Serial.print(F(" (degrees * 10^-7)"));
long altitude = myGNSS.getAltitude();
Serial.print(F(" Alt: "));
Serial.print(altitude);
Serial.print(F(" (mm)"));
byte SIV = myGNSS.getSIV();
Serial.print(F(" SIV: "));
Serial.print(SIV);
myGNSS.getRXMRAWX();
Serial.println();
}
}`
То, что я получаю от последовательного монитора из приведенного выше, - это широта, долгота, высота и SIV.
но мне нужен RXMRAWX в другом, чтобы увидеть там cpMes и PrMes