Warten möchte ich vermeiden, deshalb der Ansatz über 2 Punkte die du schreibst
-
Anfordern der Messung; habe ich umgesetzt mit
if ((millis() - lTempMessung) > TempIntervall) -
Abholen der Messung; habe ich umgesetzt mit
if ((millis() - lTempMessung - TempConvertZeit) > TempIntervall)
Bei durchgeführter Messung wird lTempMessung mit lTempMessung = millis() hochgesetzt.
@Tommy56
Wenn immer wenn der Messwert da ist, einen neuen anzufordere, beginnt der Sensor doch sofort und merkt sich das Ergebnis. Wenn ich bei einem Intervall von 10 Min auslese, ist der Wert doch 10 Min alt. Der Sensor ermittelt ja nich dauern duch bis ein Abruf erfolgt.
Deshalb folge ich dem Weg, den auch postmaster-ino beschreibt.
@combie
ich bin auch bereit meinen Plan zu ändern, aber ich möchte nicht nur eine Lösung für diesen Einzelfall sondern auch Hintergründe verstehen. Und Wissen möchte ich in mehrere Richtungen erweitern, auch wenn nur ein Weg programmiert wird. ![]()
Ich verstehe deine Tipps dann so dass ich auch TempConvertZeit als [unsigned long] zu deklarieren.
Trotzdem ziehe ich von einem [unsigned long] einen größeren [unsigned long] ab soll doch etwas negatives herauskommen.
Vielen Dank für eure Unterstützung