Problem mit dem Timer (Seconde)

OP #5964974
Lesenswert?
• ▲
▼
Hallo, ich habe ein problem mit der Einstellung des Timer 1 mit dem 
Nucleo Board. Laut der Technischen Daten (im Anhang) läuft der Prozessor 
mit 84 MHz und ich möchte mit dem Timer 1 eine LED toggeln (pro 
Sekunde). Dafür habe ich das Programm im Anhang geschrieben aber die LED 
leuchtet etwa 6 Sekunden und dann aus für 6 Sekunden. Wenn ich dem 
PSC-Register (Prescaler) den wert (1600-1) zuweise (im Fall dass der 
Prozessor 16MHz ist) dann geht die LED an und aus alle Sekunden. Der 
Prozessor hat aber ein Takt von 84MHz also wie ich verstehe sollte im 
PSC-Register 8400-1 stehen wenn der ARR-Resgister (Autoreload Register) 
den wert 10000-1 hat.

Könntet ihr mir sagen, wo mein fehler liegt?
Angehängte Dateien:
Gast #5964981
Lesenswert?
• ▲
▼
Amadou B. schrieb:
> Der Prozessor hat aber ein Takt von 84MHz

Nein, er läuft standardmäßig mit 16MHz. Lies mal das ganze Kapitel 6 vom 
Referenzhandbuch durch, da steht drin, wie du die Taktfrequenz mittels 
PLL heraus setzten kannst.

https://www.st.com/content/ccc/resource/technical/document/reference_manual/5d/b1/ef/b2/a1/66/40/80/DM00096844.pdf/files/DM00096844.pdf/jcr:content/translations/en.DM00096844.pdf

Ich kenne mich mit dem STM32F4 nicht aus, aber bei anderen STM ist die 
Vorgehensweise üblicherweise diese:

1) Auf den HSI als Taktquelle umschalten *
2) Warte, bis der Schalter umgelegt wurde
3) PLL aus schalten *
4) Flash Latenz (wait states) passend zur neuen Taktfrequenz einstellen
5) Pll Multiplikator und alle Prescaler einstellen
6) PLL einschalten
7) Warte, bis die PLL betriebsbereit (eingependelt)
8) PLL als Taktquelle auswählen

*) das ist der Normalzustand nach Reset, aber der Debugger kann das 
ändern. Während die PLL eingeschaltet ist, lässt sie sich nicht 
umkonfigurieren.

Beachte, dass der Flash Speicher und die Peripherie (zum Teil) nicht mit 
der maximalen Frequenz arbeiten kann.

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.