Hallo Ich versuche gerade eine USART Kommunikation zwischen einem PIC18F4520 und einer Astronomie-Software herzustellen, die mit dem sogenannten "LX200 Protokoll" arbeitet. In diesem Protokoll wird jeder Befehl mit Rauten (quasi "#BefehlX#") gekennzeichnet, nur leider schickt das Programm gerne mal bis zu 3 Befehle gleichzeitig, was mir die Auswertung erschwert. In diesen Ketten sind die einzelnen Befehle dann jeweils nur noch durch "#" getrennt, also z.B. "#BefehlX#BefehlY#BefehlZ#" Außerdem ist die Länge der Befehle variabel. Aktuell gehe ich so vor, dass ich alles was reinkommt in einem großen char array ablege, in diesem dann die "#" zähle, und sofern mindestens 2x "#" im array liegen, den Befehl in ein separates kleines array schmeiße und auswerte. Das große array rotiere ich anschließend um die entsprechende Anzahl von Stellen um die entstandene Lücke zu schließen. Anschließend beginnt der ganze Spaß von vorn... Kommt mir noch nicht sehr effizient vor, hat vielleicht jemand eine bessere Idee? Programmiert wird in C++, es stehen also alle Perversitäten der Stringfunktionen zur Verfügung. ;) mfg Vincent
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.