Hallo Forum, ich beschäftige mich hobbymäßig nun einige Wochen mit den STM32. Hierzu nutze ich ein STM32F0 Discovery, Visual GDB und die HAL Lib. Visual GDB bietet bei Erstellung eines Projektes eine Option zur Einstellung der Arbeitsfrequenz an. Dort arbeite ich mit dem Default von 8MHz. Bei Konfigurationen von TIM2 als PWM Timer oder mit ISR bei Überlauf habe ich eine LED angesteuert und mal ans Oszilloskop gehangen. Die Messungen haben ergeben, dass der Timertakt mit einem Vorteiler von 2 betrieben wird. Daraufhin habe ich versucht mich eingehender mit dem Clock Tree auseinander zu setzen (siehe Anhang). Die Konfiguration findet in der angehangenen system_stm32f0xx.c statt. Jetzt hänge ich schon sehr lange drüber und verstehe nur Bröckchen: HSI => Interner RC Oszillator HSE => Externer Oszillator Bei der Fülle an defines drehe ich mich nur im Kreis! Können wir hier zusammentragen: - was, wo, wie angepasst werden MUSS, damit ich den internen oder externen Oszillator nutze - wie ich die PLL nutze - wo ich die Stelle im Code finde, warum der TIM2 Takt vorgeteilt wird (kann ja eigentlich nur HPRE sein???) Ich bitte euch, keine Diskussion "Pro / Contra HAL Lib" zu führen und wäre euch sehr dankbar wenn ich den Zusammenhang bzw. die nötigen defines finde um meine Fragen zu beantworten. Gruß technikus
technikus schrieb: > Jetzt hänge ich schon sehr lange drüber und verstehe nur Bröckchen: > > HSI => Interner RC Oszillator > HSE => Externer Oszillator > > Bei der Fülle an defines drehe ich mich nur im Kreis! Installiere Dir mal das aktuelle CubeMX. Man muß sich damit keinen Code erzeugen, aber der Clock-Tree wird da interaktiv dargestellt. Mir hat das beim Verständnis enorm geholfen...
Laut dem angehängten Diagram hängt der TIM2 hinter HPRE und PPRE. Eine Sache, über die ich beim STM32F0 Nucleo gestolpert bin (und das scheint beim Discovery genau so zu sein), ist das am HSE kein Quarz hängt, sondern der MCO vom Debugger, über welchen der STM32F0 mit 8MHz versorgt wird. Wenn man den HSE nutzen will, muss der HSE_BYPASS aktiviert werden.
Oder gehört das Rhema eher nach "Compiler und IDEs"? Erstellen eure IDEs auch einen Startup Code der meinem entspricht?
Hi, es gibt doch ein clock config tool welches den entsprechenden Startup-Code generiert. Ist zwar schon ein wenig EOL, da es jetzt auch Cube gibt, aber hat bei mir gut funktioniert: http://www.st.com/en/development-tools/stsw-stm32088.html
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.