Forum: Mikrocontroller und Digitale Elektronik Commandos mit µC verarbeiten


von Sandy (Gast)


Lesenswert?

Liebe Kollegen!

Ich habe eine super Aufgabe ausgefasst und habe überhaupt keine Ahnung 
wie ich das lösen kann.

Ich soll einen µC(MSP430) an den PC hängen (via RS232) und dort im Hyper 
Terminal Befehle eingeben.

Die Befehle sind immer gleich
3 Zeichen was
3 Zeichen wo
3 Zeichen Wert
immer mit Abstand dazwischen.

Die RS232 funktioniert und ich kann auch Zeichen einlesen. Leider weis 
ich nicht wie ich das mit den Befehlen machen kann. Switch funktioniert 
ja nicht mit Strings.

Kann mir jemand helfen? Eine Idee wäre schon super!!!

Bussi
Sandy
von Karl H. (kbuchegg)


Lesenswert?

Sandy schrieb:
> Liebe Kollegen!
>
> Ich habe eine super Aufgabe ausgefasst und habe überhaupt keine Ahnung
> wie ich das lösen kann.
>
> Ich soll einen µC(MSP430) an den PC hängen (via RS232) und dort im Hyper
> Terminal Befehle eingeben.
>
> Die Befehle sind immer gleich
> 3 Zeichen was
> 3 Zeichen wo
> 3 Zeichen Wert
> immer mit Abstand dazwischen.

Du hast was vergessen:
Nämlich "und hinten nach noch ein Return"

Dieses Return ist wichtig. Denn es ist das Signal für den µC: jetzt ist 
eine Eingabezeile fertig, und du kannst anfangen den String auseinander 
zu nehmen, auf Fehler zu überprüfen und das Kommando auszuführen.


> Die RS232 funktioniert und ich kann auch Zeichen einlesen. Leider weis
> ich nicht wie ich das mit den Befehlen machen kann. Switch funktioniert
> ja nicht mit Strings.

Was gefällt dir an

   if( !strcmp( Command, "SET" ) )
     ...

   else if( !strcmp( Command, "GET" ) )
     ...

nicht?

> Kann mir jemand helfen? Eine Idee wäre schon super!!!

* Solange Zeichen empfangen und in einem String sammeln, bis der \n 
daher kommt.

* Dann den String an den Leerzeichen in die 3 Teile aufsplitten.

* Anhand des ersten Teils (Commando) in die entpsrpechenden Funktionen 
verzweigen, die die restlichen Teile dann gemäß der Funktionalität 
auswerten und die Aktion ausführen.
von Sandy (Gast)


Lesenswert?

Super, danke!

Damit kann ich mal anfangen!!!
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.