STM32 HSE Frage zur Clock-Konfiguration

Gast #4583093
Hallo erstmal,

ich verwende einen STM32F105R8T6 (Connectivity Line) mit einem 8 MHz 
Oszillator und musste feststellen, dass dieser nicht mit den gewohnten 
72Mhz SYSCLK läuft sondern mit 23.04 MHz. Ein Blick in die 
system_stm32F10x.c offenbart hier folgendes:
1
    /* Configure PLLs ------------------------------------------------------*/
2
    /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */
3
    /* PREDIV1 configuration: PREDIV1CLK = PLL2 / 5 = 8 MHz */
4
        
5
    RCC->CFGR2 &= (uint32_t)~(RCC_CFGR2_PREDIV2 | RCC_CFGR2_PLL2MUL |
6
                              RCC_CFGR2_PREDIV1 | RCC_CFGR2_PREDIV1SRC);
7
    RCC->CFGR2 |= (uint32_t)(RCC_CFGR2_PREDIV2_DIV5 | RCC_CFGR2_PLL2MUL8 |
8
                             RCC_CFGR2_PREDIV1SRC_PLL2 | RCC_CFGR2_PREDIV1_DIV5);
was ich so interpretiere, dass man von HSE=25MHz ausgeht. Das Define 
HSE_VALUE=8000000 hat hier also gar keine Wirkung. Was ist hier der Sinn 
des Erfinders. Muss ich in dieser Datei fummeln um meinen 
8MHz-Oszillator richtig zu konfigurieren?
Gast
Cube_S schrieb:
> s. Muss ich in dieser Datei fummeln um meinen 8MHz-Oszillator richtig zu
> konfigurieren?

Benutze STM32CubeMX um den Takt grafisch zu konfigurieren und daraus den 
Initialisierungscode zu generieren, so musst du da nicht rumfummeln.
Gast
Cube_S schrieb:
> und musste feststellen, dass dieser nicht mit den gewohnten
> 72Mhz SYSCLK läuft sondern mit 23.04 MHz. Ein Blick in die
> system_stm32F10x.c

O je, schreib dir deinen System-Setup doch um himmelswillen selber, 
dann weißt du wenigstens, woran du bist. Den Quarzoszillator 
anzukriegen, die PLL richtig aufzusetzen und den Systemtakt dann 
draufzuschalten ist doch keine schwarze Magie! Lies das RefMan.

Ständig liest man hier Hilfeschreie von Leuten, die zwar nen µC 
einsetzen wollen, sich aber strikt weigern, sich Kenntnisse über 
selbigen vorher anzueignen. Stattdessen schmeißt man von hier und da und 
dort ein Stück Code in den Suppentopf und erwartet, daß es nun ja 
prächtig funktionieren soll. Ich könnte dir jetzt ne config.c für einen 
STM32F302 hier posten, die du dir bloß an deine HW anzupassen brauchst - 
aber ich tu's nicht, weil ich annehme, daß du ja ohnehin auf andere 
Weise deine Firmware zusammenzukriegen gedenkst. Falls du's dennoch 
haben willst, dann sag's explizit.

W.S.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 10 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.