-         

Ergebnis 1 bis 6 von 6

Thema: Unter Verwendung eines Timers eine Uhr erstellen welche Sekunden, Minuten und Stunden

  1. #1

    Unter Verwendung eines Timers eine Uhr erstellen welche Sekunden, Minuten und Stunden

    Anzeige

    Hallo liebe Community !!!
    Ich soll für ein STM32f4 unteranderem folgende Aufgabe zum Laufen bringen: Unter Verwendung eines Timers eine Uhr erstellen welche Sekunden, Minuten und Stunden anzeigt.
    Wie stell ich das an ich hab die Timer durchgelesen. Man kann sie zwar synchronisieren aber anscheinenend nur mit Pulsen . Gibt es eine Möglichkeit auch mit zbsp ganzen Zahlen zu synchronisiere, sprich wenn Timer 1 von 0-59 gezählt hat --> trigger Timer 2 , wenn Timer 2 von 0-59 --> trigger Timer 3 , Timmer 3 von 0-23.

    Bin schon auf Antworten gespannt... und DANKE VIELMALS !!!!

  2. #2
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Hallo!

    Für eine Uhr braucht man nur einen Timer der mit Sekundentakt Impulse für aus Register aufgebeuten Zähler generiert. Den Aufbau einer dezimaler Uhr habe ich skizziert:
    Code:
                          Sek      Min     Stunden
    
                         .----. Ü .----. Ü .----. Ü    Ü = Überlauf
         Sekundentakt -->|0-59|-->|0-59|-->|0-23|-->
                         '----'   '----'   '----'
    
    (created by AACircuit v1.28.6 beta 04/19/05 www.tech-chat.de)
    Der Überlauf aus dem Stundenzähler kann weiter für eine Datumerzeugung ausgenutzt werden.
    Geändert von PICture (30.11.2013 um 20:59 Uhr)
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    21.06.2011
    Ort
    Dresden
    Beiträge
    170
    hi,
    1 Timer, 1 Sekunde
    Wenn das dein Timerinterrupt ist:
    sekunde++;
    if(sekunde>59)
    {
    minute++
    sekunde=0;
    if(minute>59)
    {
    stunde++ usw.
    mfg
    Achim

  4. #4
    Danke Leute so circa habe ich mir das eh vorgestellt bei Verwendung von nur einem Timer. Aber wenn ich eine genau besser genauere Zeitausgabe haben will bräucht ich doch für sek, min und stunden jeweils eigenen Timer ------- weil bei einem Timer der die Sekunden ließt und dann aufgrund 60sek = 1 min und 60 min = 1 stunde rechnet werden ja taktschritte für das berechnen von min und stunde verbraucht ( wahrscheinlich im vernachlässigbar kleinen mikro oder nanosekunden Bereich )
    Stimmt doch oder ?

    Danke für euer bisherigen Antworten !!!

  5. #5
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    66
    Beiträge
    10.970
    Zitat Zitat von latrellvie Beitrag anzeigen
    ------- weil bei einem Timer der die Sekunden ließt und dann aufgrund 60sek = 1 min und 60 min = 1 stunde rechnet werden ja taktschritte für das berechnen von min und stunde verbraucht ( wahrscheinlich im vernachlässigbar kleinen mikro oder nanosekunden Bereich )
    Stimmt doch oder ?
    Ja, aber die Zähler rechnen nix nur asynchronisch sein Zustand ändern. Wenn es ganz genau seien sollte, müsste man es rein hardwaremässig mit synchronischen Zähler realisieren, wobei alle Zähler bei gleicher Flanke sein Zustand ändern. Ob es softwaremässig möglich ist, weiß ich leider nicht.
    MfG (Mit feinem Grübeln) Wir unterstützen dich bei deinen Projekten, aber wir entwickeln sie nicht für dich. (radbruch) "Irgendwas" geht "irgendwie" immer...(Rabenauge) Machs - und berichte.(oberallgeier) Man weißt wie, aber nie warum. Gut zu wissen, was man nicht weiß. Zuerst messen, danach fragen. Was heute geht, wurde gestern gebastelt. http://www.youtube.com/watch?v=qOAnVO3y2u8 Danke!

  6. #6
    Erfahrener Benutzer Robotik Visionär
    Registriert seit
    26.11.2005
    Ort
    bei Uelzen (Niedersachsen)
    Beiträge
    7.942
    Die Zeit die Nötig ist die Minuten und Stunden zu berechnen stört nur sehr wenig. In der Zeit ist der µC im Interrupt des Timers beschäftigt und führt sowieso keinen anderen Code aus, außer ggf. einen anderen Interrupt mit höherer Priorität. Eine kleine Unsicherheit ergibt sich ggf. durch die nicht immer ganz konstante Verzögerung bis der Interrupt ausgelöst wird. Das sind aber eher Zeiten im Bereich µs, selten (bei längeren Interrupts) mehr.

    Ein extra Timer für Minuten und Stunden ginge nur begrenzt wenn die HW das Zählen der Überläufe eines anderen Timers erlauben würde. Das ginge ggf. mit externen Verbindungen (PWM -> Zählereingang). Es bleibt aber dabei das die Anzeige nacheinander aktualisiert wird - spätestens den Weg Binär nach BCD wird man in Software machen.

Ähnliche Themen

  1. Unter vier Sekunden: Robotermaus rast durchs Labyrinth
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 4
    Letzter Beitrag: 24.11.2011, 00:47
  2. Variableninhalt (unter Verwendung eines Zeigers) ausgeben
    Von HF SHOOTER im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 30.12.2010, 16:58
  3. Problem bei der verwendung eines Timers
    Von Tredory im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 8
    Letzter Beitrag: 01.03.2009, 16:43
  4. Start Stop eines Timers
    Von hacker im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 2
    Letzter Beitrag: 03.11.2006, 13:20
  5. Sekunden Anzahl in Minuten:Sekunden umrechnen
    Von Björn im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 12.08.2005, 16:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •