-
        

Ergebnis 1 bis 4 von 4

Thema: Clock, SysSecElapsed, Syssec - Zeitmessen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.07.2012
    Beiträge
    171

    Clock, SysSecElapsed, Syssec - Zeitmessen

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich wollte lt. Bascom Hilfe, eine Zeit messen.

    Ich bekomme mit folgenden Code ständig folgende Ausgabe "Now it's 0 seconds later 23155200". Die interne Uhr scheint also zu stehen.

    Was mache ich falsch?

    Danke für Eure Hilfe.

    Code:
    $regfile = "m88adef.dat"
    $crystal = 8000000
    $hwstack = 48
    $swstack = 48
    $framesize = 48
    $baud = 500000
    
    
    Enable Interrupts
    Config Clock = Soft
    
    Dim Lsystemtimestamp As Long
    Dim Lsystemsecondselapsed As Long
    
    Lsystemtimestamp = Syssec()
    Print "Now it's " ; Lsystemtimestamp ; " seconds past 2000-01-01 00:00:00"
    
    
    Do
    
       Wait 3
       Lsystemsecondselapsed = Syssecelapsed(lsystemtimestamp)
       Print "Now it's " ; Lsystemsecondselapsed ; " seconds later " ; Lsystemtimestamp
    
    
    Loop
    
    End
    Wenn das die Lösung sein soll...
    ...will ich mein Problem zurück !!!

  2. #2
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Ja, ich hatte auch schonmal Probleme mit den Zeitfunktionen. Geholfen hatte mir damals eine Dummyauslesung von Time$ oder den _hour,_minute,_sec Variablen. Bin mir da nicht mehr so sicher.

    Mangels Testhardware kann ich das grad nicht nachstellen. Und Zeitfunktionen laufen nicht vernünftig im Simulator.
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    04.07.2012
    Beiträge
    171
    Hallo peterfido,

    und Danke für deine Antwort.

    Ich werde das mal testen.

    Ich möchte eigendlich nur die Zeit, die ich für einen Schleifendurchlauf brauche, messen.

    Mit einen Timerinterrupt unterbricht es mir ja ständig die zu messende Hauptschleife.

    Gibt es dafür evtl. eine bessere Variante? Diese sollte aber das Ergebniss nicht allzu sehr verfälschen?

    Momentan messe ich die Zeit zwischen 2 Print Ausgaben, die ich aller 1000 Schleifendurchläufe mache, am PC.

    Dabei komme ich etwa auf 2,8-3ms pro Schleifendurchlauf. Ich hätte aber es auch gern einmal die Zeit im MC gemessen.

    Danke

    mfG
    Mario
    Geändert von dj_cyborg (21.04.2014 um 14:08 Uhr)
    Wenn das die Lösung sein soll...
    ...will ich mein Problem zurück !!!

  4. #4
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    18.05.2007
    Ort
    Berlin
    Alter
    46
    Beiträge
    765
    Da ein Interrupt nicht bei jedem Durchlauf der Hauptschleife erfolgen muss, würde ich mehrere Durchläufe, z.b. 1000, nehmen und dann eine mittlere Durchlaufzeit ermitteln. Wobei das Ermitteln und Hochzählen einer Variable auch wieder etwas Zeit benötigt, welche nach dem Herausnehmen dieses Ermittelns wieder abgezogen werden müsste, um genauer zu werden...
    Wenn das Herz involviert ist, steht die Logik außen vor! \/

Ähnliche Themen

  1. Propeller Clock
    Von Chira91 im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 11
    Letzter Beitrag: 11.02.2011, 15:36
  2. Clock source
    Von cumi im Forum AVR Hardwarethemen
    Antworten: 10
    Letzter Beitrag: 21.06.2007, 21:16
  3. Trinary Clock
    Von Jaecko im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 3
    Letzter Beitrag: 13.03.2007, 07:40
  4. soft clock
    Von rille im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 16
    Letzter Beitrag: 05.03.2007, 21:54
  5. Propeller Clock
    Von Murus im Forum Vorstellungen+Bilder von fertigen Projekten/Bots
    Antworten: 10
    Letzter Beitrag: 10.01.2007, 19:52

Stichworte

Berechtigungen

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