Hallo Von einem GPS-Modul empfange ich an einem uC (AT89C51ED2) diverese Daten, darunter auch die Uhrzeit. Die sieht folgendermassen aus: "192312.250" was steht für 19 Stunden 23 Minuten 12 Sekunden und 250 ms. Ich habe hier so meine Probleme diesen in die einzelnen Werte (also Stunden, Minuten usw.) zu splitten, da es keine Kommas, Leerzeichen oder was ähnliches dazwischen gibt. Sonst wäre es nicht so ein Problem. Kann mir da jemand einen Tip geben? mfg
Wieso? ist doch ganz einfach? Zählst einfach die Zeichen von Links nach Rechts und dementsprechend kürzt du die dann. Grüße
Auf einen µC würde ich das vermutlich so implementieren
1 | s = "192312.250"; |
2 | std = (s[0] - '0') * 10 + (s[1] -'0'); |
3 | min = (s[2] - '0') * 10 + (s[3] -'0'); |
4 | sec = (s[4] - '0') * 10 + (s[5] -'0'); |
5 | msec = std = (s[7] - '0') * 100 + (s[8] -'0') * 10 + (s[9] -'0'); |
Sollte ziemlich ressourcenschonend sein. Gruß Roland
muss natürlich
> msec = (s[7] - '0') * 100 + (s[8] -'0') * 10 + (s[9] -'0');
heissen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.