• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь gps neo-7m ubx reset + change baud

Oput

New member
Добрый. Хочу сбросить модуль до состояния "по умолчанию" и сменить скорость порта.

Код:
#include <SoftwareSerial.h>

SoftwareSerial gps = SoftwareSerial(D7, D8);

byte resetGps[] = {0xB5,0x62,0x06,0x09,0x0D,0x00,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0x00,0x00,0x03,0x1B,0x9A};
byte rate57600[] = {0xB5,0x62,0x06,0x00,0x14,0x00,0x01,0x00,0x00,0x00,0xD0,0x08,0x00,0x00,0x00,0xE1,0x00,0x00,0x01,0x00,0x02,0x00,0x00,0x00,0x00,0x00,0xD7,0x93};
              
void setup() {
  delay(1000);
  long rates[] = { 115200, 57600, 38400, 19200, 9600 };

  for (int i = 0; i < sizeof(rates)/sizeof(long); i++) {
    gps.begin(rates[i]);
    gps.write(resetGps,sizeof(resetGps));
    gps.end();
    delay(1000);
  }
 
  gps.begin(9600);
  gps.write(rate57600,sizeof(rate57600));
  delay(1000);
  gps.end();

  gps.begin(57600);
  Serial.begin(57600);
}

void loop() {
while(gps.available() > 0){
   Serial.write(gps.read());
  }
}
Проблема в том что это работает крайне не стабильно, скажем 50\50 - по логике или работает или нет.



Как можно это поправить?
 
Сверху Снизу