Sinnvolles "Realzeitmanagement" auf dem µC

Gast #3192783
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
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.
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.
Gast
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.