Hallo, warum muss man bei Eingabe des Prescalers von Timern eines STM-Boards vom wahren Wert 1 abzählen? Beim Einstellen der Anzahl der einzelnen Zählschritte (Counter-Period) ergibt das ja noch Sinn, da eben der Zählschritt von 0 auf 1 mitgezählt wird. Aber warum denn bei der Teilung der Taktfreqenz?
nabend schrieb: > Aber warum denn bei der Teilung der Taktfreqenz? Weil die Prescaler offensichtlich ebenfalls als CTC implementiert sind. Man erkennt es daran, dass sie auch durch was anderes als nur Zweierpotenzen teilen können.
Zudem nutzt man den Bereich auch besser aus. Bei 3bit sind Teiler 1...8 sinnvoller als 1...7 + verbotener wert 0.
nabend schrieb: > warum muss man bei Eingabe des Prescalers von Timern eines STM-Boards > vom wahren Wert 1 abzählen? Weil der "wahre Wert" eben die Anzahl der Taktzyklen ist und durch das Mitzählen des Sprungs vom Endwert auf 0 der nötige Vergleichswert schon "eins vorher" erreicht wird. Wenn du z.B. 10 Takte zählen willst, dann muss der Zähler von 0 bis 9 zählen und wenn er 9 erreicht hat, beim nächsten Takt(!) wieder bei 0 beginnen. Das Thema dazu nennt sich in der Hardwareentwicklung (z.B. FPGA) "Off-by-One".
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.