Journal    Friends    Archive    User Info    memories
 

Сон разума или сок мозга - снизить герцовку


30 Янв, 2014 12:33 снизить герцовку

noInterrupts(); //выкл прерывания, т.к. для смены герцовки у нас 4 такта
CLKPR = 1<<CLKPCE; //разрешаем смену герцовки, с этих пор надо за 4 такта сменить, иначе бит CLKPCE (седьмой бит) снова станет 0 и нельзя будет
CLKPR = 8; //устанавливаем делитель от 16Мгц
interrupts(); //врубаем прерывалки

значения CLKPR и соотв. значения делителя
0000 - 1
0001 - 2
0010 - 4
0011 - 8
0100 - 16
0101 - 32
0110 - 64
0111 - 128
1000 - 256

Ожидаемые изменения
Arduino Pro Mini 3.3V/8MHz (power connected to RAW pin)
default clock: 4.8mA
CLKPR mod: 1.85mA

Результат:
по-дефолту 23.3
На 65Кгц - 13.4

Остались прерывания
и еще вкл питания только после нажатия кнопки на заданное время, тогда можно забить на прерывания - один хер схема будет работать по 5 сек

Оставить комментарийPrevious Entry Add to Memories Tell A Friend Track New Comments Next Entry

Comments:

От:[info]fantomass
Дата:Январь, 30, 2014 13:10 (UTC)
(ссылка)
эм.. 0000 - это 0, а 1000 - это 128 же
От:[info]barns
Дата:Январь, 30, 2014 13:12 (UTC)
(ссылка)
она не является конкретным значением, а указывает на конкретное значение из списка :)
От:[info]fantomass
Дата:Январь, 30, 2014 13:56 (UTC)
(ссылка)
как-то не по корану xD
От:[info]barns
Дата:Январь, 30, 2014 14:29 (UTC)
(ссылка)
регистры, хули xD