Forum: Mikrocontroller und Digitale Elektronik Sprungbefehl durch Variablen


von Uwe N. (Firma: Privat) (djuwert)


Lesenswert?

Servus, ich versuche mal mein Problem unter Bascom zu beschreiben. Da 
will ich ein Menu entwerfen wo in jedem Schritt ein Wert X durch Tasten 
verändert werden soll. Bei Drücken von Weiter soll man X2 ändern können. 
Nach Weiter dann X3... usw. Gibt es ne Möglichkeit den Variablen was 
anzuhängen was bei "Weiter" mitzählt? Sprich nach dem Motto Gosub 
WertX(Zähler)???  Dass eben wenn Zähler 2 ist auch WertX2 angelaufen 
wird?

Dasselbe möchte ich mit den Werten auch tun. Dass halt die Variablen 
nach Zählerwert verändert werden.

Habe sowas irgendwo schon gesehen aber finds nicht. Danke für die Hilfe!

von Falk B. (falk)


Lesenswert?

RTFM?

ON VALUE

von Dietrich L. (dietrichl)


Lesenswert?

Wenn ich das richtig verstanden habe, wäre das etwas für ein Array.

Mit dem "Weiter" zählst Du den Index des Arrays weiter und benutzt dann 
das Array-Element mit diesem Index.

http://www.qsl.net/pa3ckr/bascom%20and%20avr/arrays%20and%20data/

Gruß Dietrich

von Ralf G. (ralg)


Lesenswert?

Wenn ich das richtig vertanden habe, dann suchst du vielleicht sowas:
In 'C' würde man im einfachsten Fall 'switch/ case' nehmen. Wenn's 
dieses Konstrukt in Bascom nicht gibt, bleibt nur 'if/then(/else)'. 
(Werde allerdings aus deinen Ausführungen nicht ganz schlau.)

von kopfkratzer (Gast)


Lesenswert?

kopfkratz
Du willst also eine Statemachine in BASCOM abbilden ?
http://rn-wissen.de/index.php/Bascom_State_Machine_Menu
Es gibt auch ein reines BASCOM Forum wo Du fragen könntest:
http://bascom-forum.de/forum.php
Wie schon erwähnt solltest Du konkret Dein Problem beschreiben können 
bzw. den nicht funktionierenden Code posten.

von Uwe N. (Firma: Privat) (djuwert)


Lesenswert?

Ich habe bisher jeden Schritt im Menue einzeln geschrieben und finde 
keinen einfacheren Weg. Es wird nach dem Einstellen eines Zahlenwerts 
Weiter gedrückt u.d darauf springt mein Code in die nächste einzeln 
geschriebene Routine zum Ändern des nächsten Werts. Ich meinte wenn ich 
nen Zähler nutze und der steigt als Variablenwert so kann man vielleicht 
automatisch den nächsten Wert editieren lassen- vom selben Unterprogramm 
zum Ändern der Zahlenwerte.

Menue- Zahl1 ändern- Zählerhoch
Menue-Zahl(Zählerwert) ändern-Zählerhoch
usw. ;-)

von kopfkratzer (Gast)


Lesenswert?

Uwe Neubert schrieb:
> Ich habe bisher jeden Schritt im Menue einzeln geschrieben und finde
> keinen einfacheren Weg. Es wird nach dem Einstellen eines Zahlenwerts
> Weiter gedrückt u.d darauf springt mein Code in die nächste einzeln
> geschriebene Routine zum Ändern des nächsten Werts. Ich meinte wenn ich
> nen Zähler nutze und der steigt als Variablenwert so kann man vielleicht
> automatisch den nächsten Wert editieren lassen- vom selben Unterprogramm
> zum Ändern der Zahlenwerte.
>
> Menue- Zahl1 ändern- Zählerhoch
> Menue-Zahl(Zählerwert) ändern-Zählerhoch
> usw. ;-)

Hast Du Dir das mit der Statemachine mal durchgelesen ?
Wenn Du es über eine einzelne Variable lösen willst, deklarier sie 
global und wenn noch IRQs dazukommen als "volatile" (wie immer das in 
BASCOM geht) und dann in jeder Prozedur inkrementieren bzw. besser auf 
den Wert des nächsten Zustands setzen und UUPS schon ist es eine 
Statemachine ;-)
Achja die Variable in einem switch-case auswerten um das passende 
auszuführen ...

von Uwe N. (Firma: Privat) (djuwert)


Lesenswert?

Ich schau mir das an und teste mal die Statemachine. Bis später

von Uwe N. (Firma: Privat) (djuwert)


Lesenswert?

Uiuiui, das ist aber nicht grad leicht zu durchblicken :-)

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.