Hallo Leute, ich arbeite momentan mit einem stm32f2xx und beschäftige mich gerade mit den Timern, wobei ich auf eine Begriffsunklarheit in der Standartbibliothek gestoßen bin: viele Timer haben sowohl einen Prescaler als auch einen ClockDivider. Worin liegt der Unterschied? Machen die beiden nicht das selbe? Gibts Unterschiede in Sachen Auflösung? Danke schonmal für eure Antworten im Voraus, viele Grüße, Alex
Gast
#2751834
Hallo shadow851, der ClockDivider ist ein Vorteiler der fest eingestellt wird (/2, /4, /8, ...). Der ist dafür da dass Du deine Zähler in der ungefähr richtigen Taktfrequenz hälst. Meist wird der Clockdivider so einegstellt dass die Timer/Prescaler in dem Bereich möglichts weit ausgenutzt werden (bei 16 bit: dass der Zähler im Bereich 32k bis 64k zählt, damit ist er dann möglichst genau). Der Prescaler ist ein Zähler der den voreingestellen Wert hochzählt/runterzählt (je nach professor) und dann beim Match einen Rollover macht. Beim Rollover gibt er dann einen Impuls aus der an den eigentlichen Zähler geht und diesen erhöht. Dabei kann man den prescaler meist noch über eine Schattenregister zusätzlich neu laden - heißt: beim nächsten Rollover lädt der Prescaler dann den Wert aus dem Schattenregister und zählt bis zum neuen Wert. Damit hast Du eine sehr flexible Zählerarchitektur mit der Du durch den Prescaler die Taktfrequenz noch mal etwas genauer einstellen kannst und mit dem eigentlichen Zähler die Zählung genau bestimmst. Grüße
Super Antwort, vielen Dank.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.