Forum: Mikrocontroller und Digitale Elektronik Falsche systemfrequenz an stm32f4discovery?


von Leon L. (leonelf)


Lesenswert?

Hi!
Ich versuche gerade die sys_clk auf dem MCO1 pin (A8) auszugeben
Dazu verwende ich die codezeile
1
RCC_MCO1Config(RCC_MCO2Source_SYSCLK, RCC_MCO1Div_1);

An A8 kann ich aber nur 16MHz messen, wenn ich den divider auf 2 setze, 
kommen 8MHz raus, also sollte es kein messfehler sein. Der PLL ist 
richtig eingestellt wie im einstieg in emblocks Artikel (168mhz), meine 
IDE ist EMBlocks.

Kennt ihr sonstige theoretische Fehlerquellen?

von holger (Gast)


Lesenswert?

>Ich versuche gerade die sys_clk auf dem MCO1 pin (A8) auszugeben

Das geht an MCO1 nicht.
                       ^
                       |

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

Lies kurz mal Kapitel 7.2.10 im RM0090 Reference Manual.
Du kannst eine der 4 Clocks
–     HSI clock
–     LSE clock
–     HSE clock
–     PLL clock
am PA8 ausgeben, aber nur, solange sie nicht 100 MHz übersteigt. Sys_Clk 
ist also nicht dabei.
Sys_Clk wäre an MC02 verfügbar, aber auch nur, wenn sie unter 100MHz 
bleibt.

Leon Loeser schrieb:
> RCC_MCO1Config(RCC_MCO2Source_SYSCLK, RCC_MCO1Div_1);
                        ^
Wofür meinst du, steht da MC02?

von Christian J. (Gast)


Lesenswert?

Leon Loeser schrieb:
> Der PLL ist
> richtig eingestellt wie im einstieg in emblocks Artikel (168mhz), meine
> IDE ist EMBlocks

Der Artikel ist schwer überarbeitungsbedürftig..... nimm lieber andere 
Quellen.

von Leon L. (leonelf)


Lesenswert?

danke für die hilfe!
das mit mco2 war wohl ein tippfehler (oder falsche nutzung der 
autovervollständigung in emblocks^^
Wen ich an mco2 den HSE nehme, bekomme ich auf jeden fall die richtige 
quarz frequenz. Ich mach mich dann mal daran, die frequenz mit nem timer 
zu prüfen^^

EDIT: Ok, die frequenz stimmt, habe mit timer2 die frequenz auf 168Hz 
runtergeteilt und toggle damit einen pin, der dann die frequenz 84Hz 
hat.
Problem: Wenn ich den prescaler und die periode sehr tief senke (beide 
2(-1)), ist die maximale pinfrequenz 500kHz. Ist das ne begrenzung des 
timers?
Das ganze ist (momentan) interrupt betrieben, kann es daran liegen?

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
Noch kein Account? Hier anmelden.