-         

Ergebnis 1 bis 2 von 2

Thema: Gettime();

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.12.2011
    Ort
    Deutschland BadenWürttemberg
    Beiträge
    43

    Gettime();

    Anzeige

    Hi,
    ich wollte den Gettime() Befehl mahl ausprobieren. Und so wie ich das verstanden habe gibt es mir die Zeit seit der Asuro eingeschaltet wurde in milliSekunden an.
    Also müsste es nach sagen wir 5sec 500 ausgeben und nach 10sec 10.000, ...
    Also ich hab das einfach mal probiert:
    Code:
    #include "asuro.h"
    
    int main(void) {
    	Init();
    	unsigned long aktTemp;
    	for(;;){
    		aktTemp = Gettime();
    		PrintInt(aktTemp);
    		SerWrite("\r\n",4);
    	}
    }
    Doch es gibt mir inerhalb von ca. 5sec werte von 1000 und größer.
    Warum ist das so.

    Danke
    Mfg Florian

  2. #2
    Moderator Robotik Visionär Avatar von radbruch
    Registriert seit
    27.12.2006
    Ort
    Stuttgart
    Alter
    54
    Beiträge
    5.785
    Blog-Einträge
    8
    Hallo

    Gettime() gibt es ab Version 2.2 der Library und zählt die Millisekunden seit dem Programmstart in einem Longint (32bit):

    Code:
    // neue Zeitfunktion
    unsigned long Gettime(void)
    {
    return ((timebase*256)+count72kHz)/72;
    // return ((timebase*256)+count36kHz)/36; // Formel für 36kHz-Lib ab Version 2.3
    }
    Code:
    ASURO Library Versions History 
    ==============================
    
    
    Version 2.2
    ===========
    
    - 31.03.2005 Erweiterte Funktionen (Author: weja - Robotrixer Buxtehude)
    
    	Kurzbeschreibung der Funktionen in der neuen asuro.h, asuro.c vom 31.03.05
    
    
    
    	Leider konnten die neuen Funktionen nicht mehr in einer Extradatei untergebracht
    	werden, weil mehrere "alte" Funktionen verändert wurden, damit z.B. die Systemzeit
    	integriert werden konnte. Auch wurde die PollSwitch Funktion vom Ballast der Fließkomma-
    	berechnung befreit. Nun ist wieder mehr Platz für eigenen Code vorhanden.
    
    
    
    
    
    				Encoder_Init()
    
    	Dieser Befehl installiert die Interrupt Funktion für den automatischen Wegzähler.
    	
    				Encoder_Start()
    				
    	Startet die automatische Zählung nach
    	
    				Encoder_Stop()
    				
    	neu. Diese Stopp Funktion hält den Zähler an
    	
    				Encoder_Set(int,int)
    				
    	Setzt die Variablen encoder[0] und encoder[1]. Z.B.: Encoder_Set(0,0) setzt beide
    	Variablen auf Null.
    	
    				switches
    				
    	ist eine Variable, die, wenn Startswitch() gestartet wurde, auf wahr gesetzt wird, 
    	sobald eine Taste gedrückt wurde. gleichzeitig wird die Tastenüberwachung wieder 
    	abgeschaltet. Beispiel:
    	Start_Switch();
    	while (!switches){;} //wartet auf Tastendruck
    	// an dieser Stelle kann mit Pollswitch geprüft werden
    	// welche Taste gedrückt wurde, wenn nötig.
    	switches=FALSE;  // für eine neuen Aufruf von Startswitch()
    	
    				Msleep(int)
    				
    	wartet die angegebene Zeit in ms. Z.B warte 10 Sekunden: Msleep(10000);
    	
    				Gettime()
    				
    	Gibt die Zeit, die seit dem letzten Start des Asuro vergangen ist als unsigned long zurück.
    	Die Angabe erfolgt auch hier in Millisekunden.
    	
    				PrintInt(int)
    				
    	Eine kleine Ausgabehilfe für Integerwerte.
    	Beispiel Zeilenweise Ausgabe der encoder Werte:
    	PrintInt(encoder[0]);SerWrite("   ",3);PrintInt(encoder[1]);SerWrite("\n\r",2);
    	
    
    	31.03.05                                                                          Robotrixer Buxtehude
    
    Version 2.1
    ===========
    
    - 10.11.2003 Original Version von der ASURO CD (Author Jan Grewe - DLR)
    (http://sourceforge.net/projects/asuro/files/AsuroLib/)

    Gruß

    mic

    P.S.: Ach ja, 1000ms ergeben eine Sekunde...

    Atmel’s products are not intended, authorized, or warranted for use
    as components in applications intended to support or sustain life!

Ähnliche Themen

  1. Antworten: 8
    Letzter Beitrag: 10.12.2006, 22:15
  2. Gettime() in asuro.c - falsch ?
    Von dgrobot im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 10.02.2006, 09:31

Berechtigungen

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