STM32F4 delay

OP #3894504
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"?
OP #3894571
Danke, allerdings viel mir auf dass ich die stm32f4_xx_rcc.h und .c von 
dem Projekt vom Uwe kopieren musste weil bei mir diese Dateien nicht 
existieren, nur stm32f4xx_hal_rcc, die aber nicht komplett mit der von 
Uwe übereinstimmt, wie kommt das?
Gast #3894644
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
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

Eine eigene Frage? Dieser Thread ist über 11 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.