29-03-2018, 00:43
Chciałbym wyciągać konkretne informacje z portu szeregowego. Taki podsłuch drukarki. Sypią się informacje co kilka minut. Około 10 stringów do 30 znaków ale nie jest to sztywna ilość.
np:
2.5.3:023461289474
2.6.2:2621
2.7.3:2654(*5335)
itp...
Chciałbym olać wszystko prócz kilku komunikatów. Zacznijmy może na jednym. Chce wyssać wartość po 2.6.2:
Jeżeli wypuszczę "2.6.2:2621" na port to otrzymam "2.6.2:2621". A jak wyświetlić wszystko poza "2.6.2:" Rozumiem że jak dam Str1[6] da mi "2" ale jak dać wszystko większe niż znak szósty ? Na pewno jest mądry sposób przecież nie będę wyświetlał Stringa z pętli for. Proszę o podpowiedź
np:
2.5.3:023461289474
2.6.2:2621
2.7.3:2654(*5335)
itp...
Chciałbym olać wszystko prócz kilku komunikatów. Zacznijmy może na jednym. Chce wyssać wartość po 2.6.2:
Kod:
String Str1;
void setup() {
Serial.begin(9600);
}
void loop() {
if (Serial.available() > 0) {
Str1 = Serial.readString();
if (Str1.startsWith("2.6.2:")) {
Serial.println(Str1);
}
}
}
Jeżeli wypuszczę "2.6.2:2621" na port to otrzymam "2.6.2:2621". A jak wyświetlić wszystko poza "2.6.2:" Rozumiem że jak dam Str1[6] da mi "2" ale jak dać wszystko większe niż znak szósty ? Na pewno jest mądry sposób przecież nie będę wyświetlał Stringa z pętli for. Proszę o podpowiedź