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?
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.
Amadou B. schrieb: > Dafür habe ich das Programm im Anhang geschrieben ... Mein Compiler sagt, dass er code.JPG nicht kompilieren kann :-(
my2ct schrieb: > Amadou B. schrieb: >> Dafür habe ich das Programm im Anhang geschrieben ... > > Mein Compiler sagt, dass er code.JPG nicht kompilieren kann :-( Hängt wohl daran, dass der Bediener deines Compiles dessen Funktionsweise nicht versteht ...
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.