Delay für STM32F4Discovery

OP #2959411
Lesenswert?
• ▲
▼
Hallöchen

ich bin neu hier bei euch im Forum und noch neuer im Bereich der µC 
programmierung. Arbeite für die Uni mit einem STM32F4Discovery, was 
leider nicht so ganz einsteigerfreundlich ist ;-)

Ich bin auf der Suche nach einer Delay Funktion, mit der ich Delays im 
ms Bereich verwirklichen kann. Ich hab hier im Forum und auch bei google 
schon viel dazu gelesen und probiert...unter anderem mit dem Systick und 
einer einfachen for-Schleife. Aber irgendwie krieg ich das alles nicht 
hin :-(

Wäre nett, wenn mir jemand möglichst genau erklären kann, wie so etwas 
funktioniert.

Danke schonmal für eure Hilfe
#2959458
Lesenswert?
• ▲
▼
Google doch einfach
stm32 discovery delay
da findet sich doch schon im ersten Ergebnis was.

Wenn du aber wirklich daran denkst Delays zu verwenden, dann würde ich 
dir einen einfacheren 8bit µC ans Herz legen. PIC / AVR. Dann ist's 
einfach noch nicht so weit, dass du mit der Komplexität zu Recht kommst.
OP #2959469
Lesenswert?
• ▲
▼
Hey, danke für deine Antwort.

Google hat mir wie gesagt nichts geholfen...und bei dem Beispiel, dass 
du mit gezeigt hast ist die Zeit nicht genau Definiert, die gewartet 
wird.

Ich würde schon, seit ich mit dem Projekt angefangen habe lieber auf 
einen AVR arbeiten, würde für mich alles viel einfacher machen...Darf 
ich aber leider nicht, weil mit dieses Board von der Uni vorgeschrieben 
wurde...
Gast #2959509
Lesenswert?
• ▲
▼
Verwendest Du als Grundlage ein Demo-Programm?
Wenn nicht, solltest Du das am Anfang machen!

Darin findet sich zumeist eine Funktion
void SysTick_Handler(void), die typischerweise alle 10ms per Interrupt 
aufgerufen wird.

Initialisiert wird an anderer Stelle mit:
  RCC_ClocksTypeDef RCC_Clocks;

/* SysTick end of count event each 10ms */
  RCC_GetClocksFreq(&RCC_Clocks);
  SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);

In dem oben erwähnten SysTick_Handler() kannst Du ein Flag setzen, was 
in einer Warte-Funktion ausgewertet wird, oder auch eine 
uint32_t-Variable auf '0' runterzählen und, und, und ...
Gast #2961325
Lesenswert?
• ▲
▼
Malte B. schrieb:
> Ich bin auf der Suche nach einer Delay Funktion, mit der ich Delays im
> ms Bereich verwirklichen kann.

Du erwartest offensichtlich eine Funktion, die den Prozessor für eine 
begrenzte Zeit zum Nichtstun verurteilt.
Sowas wäre machbar, es gibt aber auch die Möglichkeit, dass diese Zeit 
zur Erledigung anderer Aufgaben genutzt wird.
Welchen Vorteil siehst du, diese Zeit ungenutzt verstreichen lassen?

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.