STM32 - PWM Frequenz ändern?!

Gast #2732807
Hallo,

ich hab ein ganz komisches Verhalten vom STM32.

Erstmal vorweg:

SysCLK ist 72 MHz.
AHB prescaler ist 1 -> 72 MHz
APB1 prescaler ist 2 -> 36 MHz

Figur 11 Clock Tree sagt:

if APB1 prescaler = 1 then x1
else x2

also da APB1 auf 2 steht wird x2 genommen

Clock für den Timer also wieder 72 MHz, richtig?!

Ausgabe des PWM auf PA1 - Ausgang wurde auf Alternate Push Pull bis 50 
MHz gesetzt.

Hier mein Code wie ich das PWM zum laufen bekomme:
1
// PWM Konfigurieren
2
      TIM5->PSC = 0x03E8;  // Prescaler 1000
3
      TIM5->ARR = 0x00B3; // Reload Register
4

5
      TIM5->CR1 = 0; // Register auf 0 Setzen
6
      TIM5->CR1 |= (1<<8); // Bit 9:8 CKD auf 01 tDTS = 2 x tCK_INT
7

8
      TIM5->DIER = 0; // Register auf 0 Setzen
9
      TIM5->DIER |= (1<<2); // CC2IE Enable Capture Compare 2
10

11
      TIM5->CCMR1 = 0; // Register auf 0 Setzen
12
      TIM5->CCMR1 |= (0b110<<12); // PWM Mode on Output Compare 2
13

14
      TIM5->CCER = 0; // Register auf 0 Setzen
15
      TIM5->CCER |= (1<<4);  // Output CC2 Enabled
16

17
      TIM5->CCR2 = 0; // Register auf 0 Setzen
18
      TIM5->CCR2 = 0x005A ; // 1/2 * Reload = 50% Tastverhältnis
19

20

21
      TIM5->CR1 |= 1; // Enable Timer

So, jetzt kam aber nicht die Frequ. raus die ich errechnet habe, sondern 
die Frequenz x 4 - daher dachte ich: Klar liegt am CR1 Register Bit CKD 
für den Clock Multiplier.... jedoch ändert sich an meiner PWM Frequenz 
GAR NICHTS, egal was ich für CKD einstelle!

Ich habe die Frequ. jetzt mit Absicht nicht gesagt, vielleicht sagt mir 
mal jemand von euch was er für eine Frequ. erwarten würde bei meiner 
Einstellung und dann auch noch wieso bzw. wieso die Einstellung von CKD 
nix ändert :-)

Dank und Gruß
Stomper

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 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.