Es como un reloj / cronómetro que solo cuenta los segundos hasta un minuto o un reloj que cuenta los minutos y los segundos pero no las horas. Seguro que puedes usar un temporizador de cocina como un reloj de alarma, pero debes configurarlo y despertarte cada hora aproximadamente, porque solo tiene esa resolución. O puede obtener un reloj que puede medir horas, minutos y segundos.
Otra forma de ver esto es una cinta métrica que tiene tictac hasta una décima de pulgada, en comparación con una cinta métrica que solo tiene tics cada pulgada o una que solo tiene tictac en cada pie. Debido a que la regla para esa cinta métrica es que solo puede soportar una resolución de N unidades de distancia por tic.
Un temporizador de 16 bits se desplaza después de 65536 tics del temporizador. Un 32 bit cada 4 billones y algunos. Más garrapatas en la cinta métrica vs menos. Lo que no puede hacer con el temporizador de su cocina es cambiar la unidad de tiempo, no puede hacer un temporizador de cocina que haga minutos y segundos y cambiar las unidades de tiempo a horas y minutos, no tiene una opción para un prescaler. Muchos de estos dispositivos pueden cambiar un preescalador, tal vez puede cambiarlo de dividir por 1 a dividir por 4. Así que el temporizador de 16 bits ahora puede medir 65536 veces 4 unidades de tiempo pero solo puede representar eso en unidades de cuatro relojes, tipo De como una cinta métrica con pulgadas pero no 16ths. Si solo tuviera un temporizador de 20 bits, podría tener la resolución y la distancia.
Diga que el reloj que alimenta a los periféricos es 1Mhz, que es una resolución de 1 microsegundo. Cada 1 microsegundo el temporizador marca. Con un temporizador de 16 bits con un preescalador de división por 1, puede medir en unidades de 1 microsegundo, hasta 65536 microsegundos, pero ese temporizador se transfiere cada 0.065536 segundos, por lo que si desea esa resolución pero durante más tiempo necesita más bits, se puede manejar con interrupciones e incrementando algunos otros conjuntos de bits, un registro en una ubicación de memoria, pero eso es simplemente agregar más bits. Si tiene un temporizador de 20 bits a 1Mhz y un prescaler de dividir por 1, todavía puede tener la precisión de 1us, pero puede pasar ahora a 1.0486 ... segundos. Para que pueda medir las cosas hasta un segundo con una precisión o resolución de 1us. Un temporizador de 32 bits 4295-ish segundos antes de que se reinicie, por lo que tenemos una resolución de más de una hora. Con este ejemplo, el temporizador de 16 bits, si en cambio usa un prescaler dividido por 4, ahora puede medir hasta 0.2621 ... segundos pero con una resolución de 4us.
Entonces, a partir de su ejemplo de PWM, puede soportar periodos de pwm más largos con la misma resolución con más bits. usando el ejemplo anterior de 1Mhz, no podría tener un período de pwm de 1 segundo con una resolución de 1us utilizando el temporizador de 16 bits, o bien podría tener un período de pwm de 1 segundo con una resolución de 16us utilizando el temporizador de 16 bits o podría tener su pastel y comérselo también, un período de pwm de 1 segundo con una resolución de 1us.
Más marcas en la regla significa que puede tener una cinta métrica más larga Y una resolución de 16 pulgadas (o resolución de mm pero más metros de cinta en general). Menos marcas en general significa menos precisión o menor longitud general.
Este es un stm32, no hay ninguna penalización por leer un temporizador de 32 bits en comparación con un bit de 16 bits, si es que la medición de 16 bits cuesta más, ya que los registros del brazo son de 32 bits y el código generado deberá firmar la extensión o la máscara.