Forum: Mikrocontroller und Digitale Elektronik Sinnvolles "Realzeitmanagement" auf dem µC


von Stephan (Gast)


Lesenswert?

Hallo!

Angenommen: die Regelung und Steuerung einer Klimakammer wird durch eine 
Schaltung mit einem ATMEGA2560 realisiert, programiertt in C.

Der Benutzer kann per Tasten am Display vorgeben, wie lange welcher 
Prozessschritt dauert. Während des Betriebes wird die bereits 
verstrichene und die noch verbleibende Zeit angezeigt.

Frage: werden die verschiedenen Zeiten sinnvoll gehandelt? (Der 
Sekundentakt wird durch einen Interrupt erzeugt.)

a)Tag, Stunde, Minute und Sekunde sind jeweils Variable (evtl. eine 
Struktur), beim Erreichen eines Endwertes wird die höherwertige Variable 
inkrementiert. Ergibt einen wahnsinnigen Variablenberg.

b)jede Zeit/Dauer/Verbleib wird durch eine einzige Variable als hoher 
Sekundenwert repräsentiert und anzuzeigende Werte werden daraus bei 
Bedarf erzeugt. Ergibt wahsinnig undurchsichtige Variablen.

c) ?

Greetz
Stephan

von Uwe (de0508)


Lesenswert?

Und, was ist deine Frage?

Soweit ich verstehe,kennst DU keine Strukturen in C, damit könnte man 
eine Zeitwert in Deine Zeiteinheiten hinterlegen.

Dann einen Zeiger (pointer) auf die Variable von Typ Struktur und alles 
ist im Lot.

von PittyJ (Gast)


Lesenswert?

b)
hat sich 1000mal bewährt.

von Falk B. (falk)


Lesenswert?

b) Der uC kommt damit blendend klar, man kann problemlos addieren und 
subtrahieren. Nur für Anzeige wird auf hh:mm:ss umgerechnet, aber auch 
das ist in Mikrosekunden passiert. Machen alles gängigen Computersysteme 
so. 32 Bit und fertig.

von Reinhard Kern (Gast)


Lesenswert?

Hallo,

schliesse mich an, Stunden und Minuten sind eh bloss eine blöde 
menschliche Angewohnheit, die angeblich von den Babyloniern stammt. Und 
32bit Sekunden ist länger als du lebst.

Ich mache das grundsätzlich mit physikalischen Werten so, nur für den 
User werden z.B. Masse in mm oder inch angezeigt, intern rechnet die 
Steuerung immer gleich. Und wenn jemand Magdeburger Ellen will, kein 
Problem, nur eine Ein/Ausgabe-Routine mehr.

Gruss Reinhard

von ah. (Gast)


Lesenswert?

Ich habe immer einen 10ms Tick. Da ist alles dran.

von Stephan (Gast)


Lesenswert?

Danke, bin überzeugt und werde es fortan so einsetzen!

von Reinhard Kern (Gast)


Lesenswert?

ah. schrieb:
> Ich habe immer einen 10ms Tick.

Ja so hat jeder seinen Tick. Meiner ist allerdings eher 1 ms.

Gruss Reinhard

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.