Estoy utilizando el configurador STM32F0 MCU y STM32 CubeMX. Encontré la configuración del reloj a continuación
¿Cuándo sería la ocasión de usar una velocidad de reloj más baja? ¿No sería más rápido siempre preferible?
El microcontrolador consume más energía cuando se ejecuta a velocidades de reloj más altas. En dispositivos alimentados por batería, correr a una velocidad más baja puede mejorar la vida de la batería.
Además, muchos periféricos derivan sus relojes de los relojes centrales; los requisitos de esos periféricos y los dispositivos a los que están conectados pueden imponer requisitos en las velocidades del reloj central. (Para dar un ejemplo específico: los periféricos USB en ciertos microcontroladores STM32 requieren que esté disponible un reloj de 48 MHz. Si el reloj central no es un múltiplo de 48 MHz, esto no es posible).
La frecuencia de reloj inferior significa menor consumo . Tan pronto como no tenga energía infinita, es decir, un tomacorriente de pared, cada mA contará para la vida de su batería, y por supuesto, toda esta energía se convertirá en calor residual que puede tener que lidiar con.
Procesar eventos lo más rápido posible, luego poner el controlador en suspensión / espera sería otra posibilidad para lograr un consumo promedio más bajo, pero también podría introducir algunos picos y emisiones desagradables que simplemente no existen cuando se ejecuta a una velocidad menor. Despertarse del sueño y esperar que los relojes se estabilicen también toma algo de tiempo.
Algunos periféricos podrían funcionar mejor a velocidades más bajas, por ejemplo. Si su flash necesita estados de espera por encima de 32 MHz, entonces el código de ejecución a 48 MHz puede ser más lento que a 32 MHz.
Lea otras preguntas en las etiquetas clock-speed clock stm32