Добрый. Хочу сбросить модуль до состояния "по умолчанию" и сменить скорость порта.
Проблема в том что это работает крайне не стабильно, скажем 50\50 - по логике или работает или нет.
Как можно это поправить?
Код:
#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());
}
}
Как можно это поправить?