Я новичок в arduino и пытаюсь извлечь координату gps с помощью модуля neo 6m с помощью arduino, но цикл работает до бесконечности. Не могли бы вы помочь мне, почему он не ломается.
void gpsEvent()
{
gpsString = "";
while (1)
{
while (gps.available() > 0) //Serial incoming data from GPS
{
char inChar = (char)gps.read();
gpsString += inChar;//store incoming data from GPS to temparary string str[]
i++;
// Serial.print(inChar);
if (i < 7)
{
if (gpsString[i-1] != test[i-1]) //check for right string
{
i = 0;
gpsString = "";
}
}
if (inChar == '\r')
{
if (i > 60)
{
gps_status = 1;
break;
}
else
{
i = 0;
}
}
}
if (gps_status)
break;
}
}
void get_gps()
{
gps_status = 0;
int x = 0;
while (gps_status == 0)
{
gpsEvent();
int str_lenth = i;
coordinate2dec();
i = 0;
x = 0;
str_lenth = 0;
}
}
Я вызвал get_gps();
в цикле void setup () для инициализации системы, но функция gpsEvent, которая используется для извлечения правильной строки из данных, работает до бесконечности, не могли бы вы помочь. Ссылка на код взята из https://circuitdigest.com/microcontroller-projects/arduino-based-accident-alert-system-using-gps-gsm-accelerometer, но внес несколько собственных изменений, но не в программирование модуля GPS.