IESO es para minimizar el tiempo en que se pone a trabajar el micro.
Lo que hace es usar el oscilador interno cuando sale de un sleep o es energizado y cuando detecta que el oscilador externo es estable hace el cambio por ese.
IESO , Internal-External SwitchOver.
Por otra parte , siempre puedes cambiar de oscilador primario a secundario (el que esta pegado al timer1),que en general se pone uno LP a 32.78KHz .
Saludos!
yo una vez logré cambiar la frecuencia de operación "en caliente"esto era lo que queria ver hermanooo ;-) .... pero creo que en mikroC no se puede hgacer çesto .... o si?
a partir de un cristal externo (Fcpu=48Mhz), cambiaba al bloque oscilador internoCódigo: C
... //---------------------------------------------------- setup_oscillator(OSC_INTRC |OSC_8MHZ); // cambio de oscilador primario = oscilador interno a 8 MHz // IESO bit ignorado delay_cycles(10); // transición de 7 ciclos + adicionales while(!IOFS){} //espera estabilización del Fosc ...
y luego para volver a la velocidad que da el cristal externo hacía:Código: C
... setup_oscillator(OSC_NORMAL); // oscilador primario activo. IESO bit ignorado delay_cycles(10); // transición de 7 ciclos + adicionalesç ...
En todo caso si las sentencias de MikroC no te lo permite, podes usar ASM embebido. Y sino, a pensar de cambiar de compilador! :D