-
-
Erfahrener Benutzer
Robotik Visionär
Solche Ausdrücke wie
"timer = (256-F_CPU/8/100000);"
Sind an sich kein Problem. Da sind zwar divisionen drin, aber es sind alles Konstanten und die Berechung macht also schon der Compiler auf dem PC. Das einzige wo man drauf achten muß ist das Runden der zahlen, und das normalerweise mit integer Werten gerechent wird. Ggf. also noch ein L anhängen damit wenigsten Longint benutzt wird für die Rechnung.
Wenn der Timer 16 Bit PWM kann, dann geht Hardware PWM oft recht gut. Wenn die Taktfrequenz ungünstig liegt, dann hat man allerdings nicht besonders viel Auflösung. Bei 16 MHz kann man Prescaler 8 und einen normalen PWM mode (kein fast PWM) nehmen, dann kommt die Frequenz ganz gut hin.
Wenn man das nicht will, kann man wenigstens den Timer Direkt nutzen für die ganze Verzögerung.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen