Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > > Hallo Leute, > > > > hat jemand eine Idee, wie man die Struktur eine State Machine in der C-Control programmieren kann? > > > > Unter Standard C habe ich dies mit labels und goto realisiert. Aber goto bietet C2 ja leider nicht... > > > > Danke und Gruß, > > > > JanS > > Unter Stabdard-C verwendet man nur in Ausnahmefällen Labels und GoTo usw. Hier wird es mit den > switch- und case-Anweisungen gemacht. In C2 gibt es das nicht, deshalb kommt man um normale > Abfragen nicht vorbei, wie das folgende Beispiel zeigt: > <code> > // ------------------------------------ > // STATE 1 > // ------------------------------------ > if (act_state == STATE_1) { > ... > } > // ------------------------------------ > // STATE 2 > // ------------------------------------ > } else if (act_state == STATE_2) { > ... > } > // ------------------------------------ > // STATE 3 > // ------------------------------------ > } else if (act_state == STATE_3) { > > usw. > </code> > Wobei die Variablen STATE_1..3 eigentlich #defines sind, die es in C2 auch nicht gibt und deshalb > mit const definiert werden. Einfache Werte hier zu verwenden wäre aufgrund der leichteren > Änderbarkeit unschön. > Da es sich bei Statemachines meist um langsamere Steuerungsaufgaben handelt, ist das auch > nicht weiter schlimm. Das Ganze wird dann in die Endloscheife eines Thread gepackt und am Ende mit > einem "sleep" schlafen gelegt. Ich hoffe, daß ich damit weiter geholfen habe. > Gruß > Manfred