Всем привет.
Контроллер находится в режиме power-down. Просыпается по вотч-догу, настроенному только на прерывание, каждые 0.5 с. и по срабатыванию одной из 3 кнопок PCINT. При выключенном BOD и включенном вотч-доге потребление питания составляет 6 мкА, как в даташите.
Но не хотелось бы выключать супервизор(если он все время включен, то питание 25 мкА). В даташите написано, что его можно выключать программно на время пребывания в спящем режиме и затем он сам автоматически включится(когда контроллер проснется), если во фьюзах он включен(при этом он будит кушать около 3,3 мкА ).
Для этого есть специальные команды. И их надо использовать в конце каждого прерывания, чтобы выключить BOD.
Я использовал 3 варианта, но ни один не заработал!(
Команды:
1)
MCUCR |= (1<MCUCR |= (1<SMCR = 0b00000101; // enable sleep mode (power-down mode)
2)
MCUCR |= (1<MCUCR &=(~(1<SMCR = 0b00000101; // enable sleep mode (power-down mode)
3)
MCUCR |= 0b01100000;
MCUCR &= 0b11011111;
SMCR = 0b00000101; // enable sleep mode (power-down mode)
Подскажите, пожалуйста, в чем может быть причина не отключения BOD программно?