¿Por qué ATmega (por ejemplo, 328P o 644P) tiene programado de fábrica CKDIV8
(o CLKPS = 0011
) junto con un oscilador interno predeterminado de 8 MHz?
De la documentación de 644P: 6.12.2 CLKPR - Clock Prescale Register , página 40:
El Fusible CKDIV8 determina el valor inicial de los bits CLKPS. Si CKDIV8 no está programado, los bits de CLKPS se restablecerán a "0000". Si se programa CKDIV8, los bits CLKPS se restablecen a "0011", lo que da un factor de división de 8 en el inicio. Esta función se debe utilizar si la fuente de reloj seleccionada tiene una frecuencia más alta que la frecuencia máxima del dispositivo en las condiciones operativas actuales. [...] El software de la aplicación debe garantizar que se elija un factor de división suficiente si la fuente de reloj seleccionada tiene una frecuencia más alta que la frecuencia máxima del dispositivo en las condiciones operativas actuales. El dispositivo se envía con el fusible CKDIV8 programado.
¿Es solo una precaución garantizar que el reloj de la CPU no exceda, por ejemplo, un límite de 16 MHz cuando se configura la MCU para que funcione con un oscilador externo de frecuencia demasiado alta (y se olvide de cambiar CLKPS
en consecuencia)? ¿O hay otras razones?