Forum: Mikrocontroller und Digitale Elektronik PIC18F4520, USART "LX200 Protokoll"


von Vincent H. (vinci)


Lesenswert?

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
Noch kein Account? Hier anmelden.