FSST - Hardwarenahe Programmierung

Zuständen

Zustandsdiagramm

Zustände werden in UML als Rechteck mit abgerundeten Ecken dargestellt und enthalten den Namen des Zustandes (z.B.: ST_IDLE). Es können aber auch die inneren Aktivitäten eingetragen werden. Dann ist das Rechteck zweigeteilt:

  • oben steht der Name des Zustandes und
  • unten die Aktivitäten (auszuführende Anweisungen).

Bei den Aktivitäten gibt es drei vordefinierte Events:

  • entry: Sobald ich in den Zustand eintrete wird die Aktivität ausgeführt
  • do: Die angegebene Aktivität wird kontinuierlich während des Zustands ausgeführt, könnte aber auch von der Dauer beschränkt sein
  • exit: Tritt ein Event ein, das zu einem Zustandsübergang führt, so wird vor Verlassen des Zustands diese Aktivität ausgeführt.

In der folgenden Abbildung ist ist die Funktion Idle() für den Zustand ST_IDLE mit entry, do und exit mit den entsprechenden Codeteilen dargestellt:

/media/uploads/fpucher/stm_state.jpg


Es können aber auch vereinfachte Darstellungen einer Finite-state_machine verwendet werden, wie z.B.:

  • entry bzw. exit kann weg gelassen werden
  • do muss nicht geschrieben werden
  • nur der Name des Events: btnPressed, mouseClick, ledOn, temperatur, ldr, ...
  • Bilder in den Zuständen

/media/uploads/fpucher/states_mF8Gm7T.jpg

Zustandsübergänge


All wikipages