02-12-2019, 18:24
(02-12-2019, 15:07)Robson Kerman napisał(a): Co się dzieje w tej pętli?
Kod:while (gpsBoard.available()) {
ReadString = gpsBoard.readString();
Serial.print(ReadString);
}
Nic nie wypisuje na serial?
Bo jeśli nic nie wypisuje, to znaczy że GPS nic nie wysyła, a to już nie wina kodu tylko sprzętu (połączenia, zasilanie itp.).
ten kod co podałem na początku wypisuje komunikaty nmea.
po zmianie na String, czyli:
#include <SoftwareSerial.h>
SoftwareSerial gpsBoard (2, 3, false);
String ReadString;
void setup() {
Serial.begin(115200);
gpsBoard.begin(9600);
}
void loop()
{
while (gpsBoard.available() > 0 ) {
ReadString = gpsBoard.readString();
Serial.println(ReadString);
}
// ReadString.trim(); // usuwamy spacje przed $
// if (ReadString.startsWith("$GPVTG")) { // jeśli string zaczyna się znakami $GPVTG
// for (int x = 0 ; x < 7; x++){ // usuń wszystko do siódmego przecinka
// int pozycja=ReadString.indexOf(',');
// ReadString.remove(0, pozycja+1);
// }
// char Speed[3];
// for (int i=0; i < 3; i++){
// Speed[i]=ReadString.charAt(i); // przeczytaj pięć pierwszych znaków
// }
// Serial.print(Speed);
//}
}
nic nie ma...
nie rozumiem ?