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.
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
Danke, bin überzeugt und werde es fortan so einsetzen!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.