www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik _sleep_ Funktion in Keil


Autor: Denny Crane (wooosa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich hab mich letzte Woche ein wenig mit dem MDK-ARM beschäftigt und bin 
in der Hilfe auf die Funktion _sleep_ gestoßen. Dort heißt es:

>Summary

>void Sleep (ulong milliseconds) /* Delay script n milliseconds */

>Description

>The sleep function may be used to delay script execution in debug
>functions or signal functions. The sleep function is useful to allow
>small delays in the script language execution and can be used in
>simulation mode and target debugging mode.
>Return Value

>None
>Example

>The following script switches the oscillator on an ARM device for fast
>download speed.

>// Switching from Slow Clock to Main Oscillator for faster Downloading
>_WDWORD(0xFFFF4020, 0x002F0002);     // APMC_CGMR: Enable Main Oscillator
>_sleep_(10);                         // Wait for stable Main Oscillator
>_WDWORD(0xFFFF4020, 0x002F4002);     // APMC_CGMR: Switch to Main >Oscillator


Will ich nun aber die Funktion einbinden wie in den Beispiel, 
(_sleep_(1000);) bekomme ich immer eine Fehlermeldung. Muss ich dafür 
extra noch einen Header einbinden? Bisher hab ich nur die LPC2148.h und 
die iostream.h eingebunden.

Noch was, die Hilfe von Keil finde ich ja grausam. Gibt es irgendwo eine 
Aufstellung über die verfügbaren Header files und die Funktionen die 
darin enthalten sind? Die Kontrollerspezifischen Header bei Keil hab ich 
schon gefunden.

Danke.

MFG,
D.C.

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie du schon mehrfach selbst zitierst:

>to allow small delays in the *script language*

handelt es sich dabei um Kommandos, die für µVisions Scriptsprache
gelten und nicht Teil einer Lib für den Microcontroller sind.

Autor: Ampfing (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

Du hast aber schon gelesen, dass das eine Simulator-Funktion ist, oder? 
Das ist eben keine Funktion, die Du in Deinem Programm verwenden kannst, 
sondern um ein im µVision-Simulator ausgeführtes Skript warten zu 
lassen.
Nur um sicher zu gehen...

Viele Grüße

Autor: Denny Crane (wooosa)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
argh, ok Danke. Gelesen schon, aber dann wohl überlesen. Dann werd ich 
meine Delays wohl weiterhin mit ner for Schleife oder per Timer 
abarbeiten lassen.

Was ist den mit den Headerfiles, gibts da irgendwo eine Liste was Keil 
da mitbringt bzw. was man alles verwenden kann? In der Hilfe kann ich 
leider nichts finden.

MFG
D.C.

Autor: Martin Thomas (mthomas) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Denny Crane schrieb:
> argh, ok Danke. Gelesen schon, aber dann wohl überlesen. Dann werd ich
> meine Delays wohl weiterhin mit ner for Schleife oder per Timer
> abarbeiten lassen.

Im Zweifel immer Timer. Es sein denn der Controller hat gar nichts 
anderes zu tun und man verzichtet auch auf Stromsparfunktionen. 
Schleifen sind grade bei Controllern mit diversen Einstellungen für z.B. 
Memory-Access-Wait-States und PLL. immer wieder Quelle für Verdruss. 
Leidlich genau geht das noch, wenn man beim Start eine Kalibrierung mit 
Hilfe eines Timers durchführt.

> Was ist den mit den Headerfiles, gibts da irgendwo eine Liste was Keil
> da mitbringt bzw. was man alles verwenden kann? In der Hilfe kann ich
> leider nichts finden.

Headerdateien für die Defintion von Controllerregistern finden sich im 
Installationsverzeichnis unter ...ARM\INC\... (oder ähnlich, 
Eval.-Version derzeit nicht installiert). Für Funktionen der C-Library 
(z.B. sowas wie strcat) sollte die Dokumentation schon erläutern, 
welcher .h-Datei eingebunden werden muss.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.