30-11-2019, 18:24
(Ten post był ostatnio modyfikowany: 30-11-2019, 21:41 przez Robson Kerman.)
Gdybyś chciał na stringach, to można to łatwo zrobić w ten sposób:
Speed jest stringiem, ale możesz go łatwo zamienić na ciąg cyfr.
Kod:
#include <SoftwareSerial.h>
SoftwareSerial gpsBoard (2, 3, false);
String ReadString;
void setup() {
Serial.begin(115200);
gpsBoard.begin(9600);
}
void loop()
{
while (gpsBoard.available()) {
ReadString = Serial.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[5];
for (int i=0; i < 5; i++){
Speed[i]=ReadString.charAt(i); // przeczytaj pięć pierwszych znaków
}
Serial.print(Speed);
}
}
Speed jest stringiem, ale możesz go łatwo zamienić na ciąg cyfr.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.