Ich verwende ein STM32-Board (F7-Serie) und schaue die HAL-API-Dokumentation durch. Wenn ich einen Timer initialisiere, sehe ich zwei Werte Prescaler
und ClockDivision
. Jetzt verstehe ich, dass das Prescaler
verwendet wird, um die Frequenz der Uhr zu teilen. Doch was ClockDivision
soll der tun? Ich sehe, es hat drei mögliche Werte, DIV1
, DIV2
und DIV4
.
Mein automatisch generierter Code sagt Folgendes.
Mit einer großen Annahme, dass alles unten zutrifft oder zumindest der Beschreibung der F7-Serie ähnelt. Ich könnte völlig falsch liegen! Bitte nochmal nachprüfen!
Gemäß der Registerbeschreibung des Datenblatts der stm32 F4-Familie steht „ClockDivision“ für
CKD: Dieses Bitfeld gibt das Teilungsverhältnis zwischen der Zeitgebertaktfrequenz (CK_INT) und der Totzeit und dem Abtasttakt (tDTS) an, die von den Totzeitgeneratoren und den digitalen Filtern (ETR, TIx) verwendet werden.
00: tDTS=tCK_INT
01: tDTS=2*tCK_INT
10: tDTS=4*tCK_INT
11: Reserviert, diesen Wert nicht programmieren
Ich konnte keine spezifische Dokumentation zur F7-Serie finden und bin mir der Verwendung von Totzeitgeneratoren nicht ganz bewusst, aber ETR steht für "External Trigger Input".
Beachten Sie, dass TIM1 ein spezieller Timer ist, die gleiche Beschreibung gilt nicht für andere Timer für allgemeine Zwecke (z. B. TIM2 usw.).
Außerdem ist die HAL-API-Dokumentation besonders nicht nützlich, da sie nur eine Ansammlung aller HAL-Bibliothekskommentare ohne Beschreibung ist. Wenn Sie immer noch interessiert sind, könnte dies für Sie hilfreich sein.
Benutzer105652
ArKi
ClockDivision
. Ich habe versucht, den Code in einen Codeblock zu verwandeln, anstatt ein Bild einzufügen, aber es scheint nicht richtig formatiert zu sein ...