Hallo, stehe gerade auf der Leitung wie ich am sinnvollsten eine State Machine programmiere in der ich den UART und gleichzeitig ein LCD mit Touch verwenden kann. Das Ganze soll eine GSM-Alarmanlage werden, sprich, wenn ein Sensor auslöst wird der Controller (MEGA128) geweckt und schickt über ein GSM-Modem eine Nachricht. "Gleichzeitig" soll auf einem Display der Status angezeigt und auch Änderungen vorgenommen werden. Jeder Teil für sich funktioniert perfekt: - Per ISR auf empfangene Daten am UART warten und schicken. - Per ISR aus IDLE aufwachen und in State Machine Zustand wechseln - Mit Timer gewisse Zeit warten und wieder schlafen legen - Display mit Touch auslesen und ansteuern(dabei auch was per UART senden), mehrere Fenster durchschalten. Nur weiß ich momentan nicht wie ich das Alles am besten kombiniere, sprich wenn ich in meiner State Machine in einem Zustand warte auf den UART zu reagieren ohne gleichzeitig das aktuelle Fenster meines Displays zu verlassen. Meine einzige Idee war das aktuelle Fenster zu speichern und dann zurückzuspringen, aber das scheint mir nicht sehr elegant. Vielleicht hat ja jemand eine gute Idee dazu, hänge schon den ganzen Tag an dem Problem. Vielen Dank, Andreas
Andreas P. schrieb: > Nur weiß ich momentan nicht wie ich das Alles am besten kombiniere, > sprich wenn ich in meiner State Machine in einem Zustand warte auf den > UART zu reagieren ohne gleichzeitig das aktuelle Fenster meines Displays > zu verlassen. meherer State machines zu kombinieren läuft des öfteren auf eine der 3 Möglichkeiten hinaus * die einzelnen State machines bleiben voneinenader getrennt. Sie kommunizeren über globale Variablen * die einzelnen State machines bleiben voneinander getrennt, weil sie nichts voneinander zu wissen brauchen * die Einzel-machines sind zwar schön ung gut. Aber um sie zusammenzuführen, entwickelt man eine 3. state machine, welche die Eigenschaften der ersten beiden in sich vereint und die Querbezüge der einzelnen state machines in sich schon berücksichtigt hat
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.