- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 10 von 23

Thema: sehr Kurze Warteschleifen für das korrekte Timing

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Siro Beitrag anzeigen
    @Picture.
    Bei den PICs hab ich auch die ASM Zyklen gezählt, das ging wunderbar.
    In C muß man das natürlich nicht. Dafür gibts fertige Funktionen bzw Macros (XC8 Users Guide)
    __DELAY_MS, __DELAY_US, __DELAYWDT_US, __DELAYWDT_MS
    Synopsis
    __delay_ms(x) //request a delay in milliseconds
    __delay_us(x) //request a delay in in microseconds

    Description
    It is often more convenient to request a delay in time-based terms, rather than in cycle
    counts. The macros __delay_ms(x) and __delay_us(x) are provided to meet this
    need. These macros convert the time-based request into instruction cycles that can be
    used with _delay(n). In order to achieve this, these macros require the prior defini-
    tion of preprocessor symbol _XTAL_FREQ, which indicates the system frequency. This
    symbol should equate to the oscillator frequency (in hertz) used by the system.
    On PIC18 devices only, you can use the alternate WDT-form of these functions, which
    uses the CLRWDT instruction as part of the delay code. See the _delaywdt function.
    The macro argument must be a constant expression. An error will result if these macros
    are used without defining the oscillator frequency symbol, the delay period requested
    is too large, or the delay period is not a constant.
    Diese Funktionen/Macros werden natürlich nicht "wegoptimiert". Also am Anfang des Codes
    #define _XTAL_FREQ xxxx

    und dann einfach

    _delay_us(1)

    Bei Zeiten im Submikrosekundenbereich lohnt die Verwendung eines Timers nicht wirklich.

    MfG Klebwax

    PS: warum du eigentlich ein Delay von 2 Millisekunden programmierst, obwohl du eigenlich 500 Nanosekunden brauchst, erschließt sich mir nicht ganz.
    Geändert von Klebwax (23.06.2016 um 16:01 Uhr)
    Strom fließt auch durch krumme Drähte !

Ähnliche Themen

  1. Lipo-Ladegerät auf korrekte Funktion prüfen
    Von Che Guevara im Forum Elektronik
    Antworten: 2
    Letzter Beitrag: 17.03.2013, 10:51
  2. Korrekte Beschaltung eines Relais an einem AVR
    Von Björn im Forum AVR Hardwarethemen
    Antworten: 51
    Letzter Beitrag: 10.08.2009, 17:20
  3. Korrekte Schallmessung
    Von Dolfo im Forum Sensoren / Sensorik
    Antworten: 3
    Letzter Beitrag: 15.09.2008, 22:54
  4. Antworten: 3
    Letzter Beitrag: 18.01.2007, 21:10
  5. Warteschleifen bei ATMEL
    Von monoton im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 08.09.2004, 00:15

Berechtigungen

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

Labornetzteil AliExpress