(Co-Admin)
Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
Turbo Delphi für Win32
|
Re: Problem beim Subtrahieren zweier Werte in C (bitweise?)
16. Nov 2008, 15:22
Hm, sowas in der Ar thabe ich doch. Das Problem dürfte doch weiterhin sein, dass ich in folgendem Fall nicht fesytstellen kann, ob die Temperatur weitersteigt:
Delta: 1°C
Alte Temperatur: 19°C
Aktuelle Temperatur: 20°C
=> Temperatur steigt
So, nun muss ich doch den alten Temperaturwert irgendwie verändern, damit ich im nächsten Zyklus prüfen kann, wie sich das weiter verändert hat. Wenn das weiter steigt (auch wenn es nur 0.2°C) sind, dann darf unter keinen Umständen eine konstante Temperatur angezeigt werden, auch wenn ich kleiner als das Delta bin.
Muss ich vielleicht boolsche Variablen für die 3 Status einfügen (is_rising etc.) und diese entsprechend setzen und irgendwie abfragen und neu zuweisen? Also wenn is_rising = 1 ist, dass ich dann irgendwie prüfe, bis der Wert konstant ist oder sinkt und dann die Status neu setze?
Wenn ich Messis Lösung nutzen würde, dann könnte ich ja bsp. ein Delta von 0.5°C vorgeben und den Zähler hochzählen, wenn die Differenz 0.1°C ist. Ist der Zähler 5, habe ich mein Delta erreicht und mache etwas. Doch dann müsste ich den Zähler wieder auf 0 setzen. Somit wäre in dem Moment die Signalisierung für die Temperatur konstant. Wenn die Temperatur dann weitersteigt, dann dauert es wieder mind. 5 Schritte, bis ich die LEDs zum signalisieren der steigenden Temperatur anschalten kann.
Das heißt, wenn es langsam steigt, geht die LED, die eine steigende Temperatur signalisiert, immer aus und an.
|