STM32F4 delay

OP #3894504
Lesenswert?
• ▲
▼
Hallo!
Ich nutze das STM32F4 Discovery Board und wollte eine delay funktion 
schreiben wie sie in vielen tutorials gemacht wird:
1
void delay(_IO uint32_t time){
2
    while(time--);
3
}

Wie kann ich jettz aber eine bestimmte Sekunden/Millisekunden anzahl 
"einstellen"?
Gast #3894644
Lesenswert?
• ▲
▼
Martin Fischer schrieb:

>
1
> void delay(_IO uint32_t time){
2
>     while(time--);
3
> }
4
>

Solche delay-Schleifen sind irgendwie Kokolores.
Wenn Du im ms Bereich bleibst, kannst Du auf den Systick zurückgreifen. 
Im µs Bereich nehme ich den Cyclecounter (der wird mit jedem ALU Takt um 
eins erhöht). Die Doku dazu findest Du bei ARM. Im ST RefManual steht 
dazu nichts. Vorteil des Cyclecounter ist, dass er keine ISR benötigt, 
somit keine Rechenzeit kostet. Der Cyclecounter liegt bei 0xE000EDFC, 
0xE0001000 und das Zählerregister bei 0xE0001004.
Bei Fragen fragen.
#3894648
Lesenswert?
• ▲
▼
Das ist dann eine Frage, welche bzw. ob Bibliotheken von ST verwendet 
werden. Teilweise bringen die Entwicklungsumgebungen eben eigene 
Hardwareabstraktionsschichten mit. In Eclipse wirst du wahrscheinlich 
dein eigenes Repository für die Bibliotheken pflegen müssen oder einfach 
alle reinkopieren. Die ST Libs gibts komplett zum Download, z.B. bei den 
Ressourcen zum STM32F4DISCO. Darauf basiered dürftest du dann arbeiten 
können.

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.