Tengo problemas para configurar el prescaler correcto para un reloj con un cristal externo de 32k. No es realmente un problema, sino un desconocido.
El preescalador correcto debería ser 1/128
//32.768k/128=256; 256/256=1 second!!
Pero es 1 segundo demasiado lento, el correcto parece ser 1/64, pero ¿por qué?
Aquí está el código:
ASSR |=1<<AS2;
TCNT2=0;
TCCR2B= ((1<< CS22) ); // 1/64
while (ASSR& ( (1<<TCN2UB) | (1<<TCR2BUB) ) );
TIMSK2 |= 1<< TOIE2;
sei();
//32.768k/128=256; 256/256=1 second!!
ISR(TIMER2_OVF_vect){ number++; }