ATtiny25: změna frekvence oscilátoru za běhu programu

Pokud nechceš měnit fusebits, pak máš na výběr z 8000000 IntRC (defaultní nastavení) a prescalerů 1,2,4,8,16,32,64,128 a 256. Tedy kmitočty 8,4,2,1 MHz, 500,250 a 125 kHz. Pokud bys chtěl přepnrout na WatchDog oscilátor 128kHz, musíš přeprogramovat pojistky. Programování není problém ani při nízkých kmitočtech. Dělal jsem program pro ATtiny13A nastavenou na WatchDog oscilátor 128kHz s děličkou 8 = 16 kHz a programování bez problémů šlapalo. Teda - ne, že bych chtěl čekat, než by se mi do mcu nasypalo 32kB kódu, ale těch 366 bytů jsem tam nasypal v pohodě. Používám PRESTO a je nastavitelný pro hodiny mcu až do 2 kHz. Problémy s programováním mohou nastat pouze v případě, že programátor (resp. obslužný SW) nemá “dostatek trpělivosti” pro progamování s pomalými hodinami. Kromě toho, pokud použiješ default a softwareově si nastavíš prescaler třeba až na těch 125 kHz, pak máš defaultně nastaveno Fmcu na 1MHz (pojistka CKDIV8 je defaultně naprogramovaná) a tudíž při programování běží mcu na 1 MHz. Na nižší kmitočet si přepneš až po spuštění programu, takže si s pomalýma hodinama při programování nemusíš lámat hlavu.