Forum: Mikrocontroller und Digitale Elektronik Befehle anhand einer Tabelle auswerten


von Mach F. (machfax)


Lesenswert?

Hallo zusammen

Hat jemand ein C-Code Beispiel zur Hand, mitdem man Befele, die über CAN 
oder UART eingelesen werden anhand einer Tabelle verarbeiten kann?
Vieleicht ist es besser wenn ich ein Beispiel dazu gebe:

Befehle (von extern an Prozessor gesendet) über UART:

intensity=55\n
speed=200\n
...

Jetzt möchte ich gerne die Codewörter intensity und speed in einer 
Tabelle abspeichern und somit einfacher neue Befehle hinzufügen und 
verarbeiten.
Dasgleiche müsste ich für den Antwortstring einsetzen können, der 
aktuell den Empfangsbefehl genau gleich wie er reinkommt auch wieder 
zurückgibt, aber anhand einer Tabelle könnte ich dies natürlich einfach 
ändern. Ich möchte dadurch verhindern, dass ich defines für einen String 
mit intensity und speed machen muss und danach mit string compare 
vergleichen muss.

Ich habe schon gesucht aber weiss nicht genau nach welchen 
Schlüsselwörter ich suchen soll.

Danke für die Antworten

von Ben _. (burning_silicon)


Lesenswert?

Vielleicht findest Du ein paar Ansätze, wenn du nach Command Line Parser 
suchst. Ansonsten ist sowas eine prima Programmierübung... :)

von Mach F. (machfax)


Lesenswert?

OK, genau parser habe ich gesucht... ich weiss, aber ich hab doch keine 
Zeit zum üben, sollte ien Projekt voranbringen... Danke

von Angsthase (Gast)


Lesenswert?

Dominik Eugster schrieb:
> aber ich hab doch keine
> Zeit zum üben, sollte ien Projekt voranbringen

Was ist das für ein Projekt? Hoffentlich nichts womit ich jemals in 
Berührung komme. ;-P

von Mach F. (machfax)


Lesenswert?

heyhey nicht so skeptisch... :-)

von Rene B. (themason) Benutzerseite


Lesenswert?

@dominik

Evtl, könnte mein Parser

Beitrag "uParse - die zweite."

dir helfen. Der macht dir aus Klartext-Vorgaben z.b. "initialize = \x01" 
bei einer Eingabe von "initialize=34" einen Funktions-Aufruf, indem er 
dir sagt das er diesen Befehl (es können mehrere sein, es wird ein Index 
mitgeliefert) gefunden hat, und liefert dir noch den Parameter (hier 34) 
in binär mit. Funktioniert mit bis zu 4 Parametern (Zahl, String, oder 
eigens definiertes) und die Befehle lassen sich einfach hinzufügen (da 
gibt es eine Config-Datei).
Verwende ich um eben solche Klartext-Eingaben "mundgerecht" serviert zu 
bekommen und entweder die mitgelieferten Daten wegzuschreiben, was 
anzutriggern oder zum Entwickeln und Testen von Funktionen.

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.