Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Antwort für Hanns zu thread "variable" Kategorie: Programmierung Basic (von sl - 4.02.2004 20:32)
Hallo Hans,

ich bin mir immer noch nicht ganz sicher ob ich dich richtig verstanden habe

es soll für einzelne Bedingungen

if hour=12 and minute>=30 and minute<=44 then x=115

der Wert für x geändert werden

Beispiel

Ausgangsituation

if hour=12 and minute>=30 and minute<=44 then x=115
if hour=13 and minute>=30 and minute<=44 then x=120
if hour=14 and minute>=30 and minute<=44 then x=130

soll werden

if hour=12 and minute>=30 and minute<=44 then x=95
if hour=13 and minute>=30 and minute<=44 then x=120
if hour=14 and minute>=30 and minute<=44 then x=130

dann läßt sich das NICHT mehr mit einer Variable "x" lösen

dann mußt Du die neuen Werte in einer EEPROM-Datei speichern
(c-c-basic-Befehl print# &Co

oder mit dem Tools DeepXS einzelne Bytes im EEPROM schreiben/lesen

dann kann das ganze so funktionieren,
dass man eine Hilfsvariable i hat

die Bedingungen heißen dann
if hour=12 and minute>=30 and minute<=44 then i=12
if hour=13 and minute>=30 and minute<=44 then i=13
if hour=14 and minute>=30 and minute<=44 then i=14

mithilfe der Variable i wird dann ausgehend von einer Startadresse
aus dem EEPROM das "Startadresse + i" Byte gelesen/geschrieben

Beispiel:
StartAdresse sei Byte Nr 4000 im EEPROM

Ausgangssituation wie oben

in Byte Nr 4012 steht der der Wert 115
in Byte Nr 4013 steht der der Wert 120
in Byte Nr 4014 steht der der Wert 130

es ist gerade die Uhrzeit
"if hour=12 and minute>=30 and minute<=44 then i=12"

zutreffend

Wert korrigieren:
Wert soll auf 95 geändert werden
Aufruf von DeepXS "schreibe in Byte Nr 4000+i = 4012 den Wert 95



die eigentliche Regelabfrage funktioniert dann so

if hour=12 and minute>=30 and minute<=44 then i=12

Aufruf von DeepXS "lese X-Wert aus Byte Nr 4000 + i=4012"

damit hast Du dann eine
X[i]-Funktionalität realisiert.

sl






 Antwort schreiben

Bisherige Antworten:

Re: Antwort für Hanns zu thread (von Hanns - 5.02.2004 11:54)