Hallo Wolle62,
bin nicht sicher, ob ich Dich richtig verstehe. Aber angenommen, die Dezimalzahlen 50, 60, 70 ... werden als Minuten angenommen, die in eine Stunden- und Minutenangabe umgerechnet werden sollen, würde ich es zunächst mit Division und der Modulo Funktion versuchen:
Stunden = Minuten / 60 (da eine Stunde 60 Minuten hat, zeigt der ganzzahlige Anteil vom Ergebnis die Stunden)
Restminuten = Minuten % 60 (In Restminuten landet durch "modulo" der ganzahlige Rest der Division von Minuten/60)
Das Ergebnis in Stunden kann Nachkommastellen enthalten. Manche Programmiersprachen lassen da eine Ganzzahl zu, bei der automatisch die Nachkommastellen der Division abgeschnitten werden. Also gleich die ganzzahlige Stundenzeit enthält.
Dann Ausgabe mit "Stunden : Restminuten"
Die Rechnnung oben läßt sich in der ISR machen. Duch die Divisionen aber rechenintensiv und könnte zu zeitaufwendig sein. Müßtest Du ausprobieren. Ich bin weder C noch Arduino sprachig aber Variable, die in einer ISR benutzt werden, sollten wohl mit volatile deklariert werden? Schaden tut es nicht.Kann ich das in der ISR direkt umrechnen lassen?
So etwas wie "if (Encoderwert==6) Encoderwert=10" geht nicht...
Gruß
Searcher
Lesezeichen