www.kn34pc.com
https://kn34pc.com/forums/

Sleep в ATtiny13A
https://kn34pc.com/forums/viewtopic.php?f=77&t=1131
Страница 1 от 1

Автор:  LZ2WSG [ 19 Яну 2023, 17:13 ]
Заглавие:  Sleep в ATtiny13A

По-малък консумиран ток от 9 μA от ATtiny13A?
1,2 MHz, 5V, два pull-ups резистора на PB1 и PB2, Brown-out Detector off.

За събуждането работи Pin change interrupt по два пина:
Код за потвърждение:
  GIMSK |= _BV(PCIE);    // sets the Pin change interrupt mask
  PCMSK |= _BV(PCINT1);  // wake up from PB1
  PCMSK |= _BV(PCINT2);  // wake up from PB2

sleep:
Код за потвърждение:
  sei();
  set_sleep_mode(SLEEP_MODE_PWR_DOWN);
  sleep_enable();
  sleep_cpu();

wake up:
Код за потвърждение:
ISR(PCINT0_vect) {  // wake up
  sleep_disable();
  cli();
}

Пробвах АЦП off/on с ADCSRA, ADEN. Не помогна.
Нещо пропускам?

Автор:  LZ2WSG [ 20 Яну 2023, 00:58 ]
Заглавие:  Re: Sleep в ATtiny13A

Въпросът е решен: спиране на Watchdog Timer :smt041.

"събуждане" Pin change interrupt по PB1 или PB2
Код за потвърждение:
  GIMSK |= (1 << PCIE);                    // sets the Pin change interrupt mask
  PCMSK |= (1 << PCINT1) | (1 << PCINT2);  // wake up from PB1 or PB2

sleep:
Код за потвърждение:
    sei();
    WDTCR &= ~(1 << WDTIE);  // disable Watchdog Timer interrupt
    set_sleep_mode(SLEEP_MODE_PWR_DOWN);
    sleep_enable();
    sleep_cpu();

wake up:
Код за потвърждение:
ISR(PCINT0_vect) {  // wake up
  sleep_disable();
  cli();
  WDTCR |= (1 << WDTIE);  // enable Watchdog Timer interrupt
}

С наличния измервателен уред отново невъзможност да отчета консумацията на ток (обхват 2mA, показание: .000 :good).
Ще вярваме на pdf-а :mail .

Прикачени файлове:
attiny13_power_down_wdt.jpg
attiny13_power_down_wdt.jpg [ 132.22 KiB | Прегледано 8692 пъти ]

Страница 1 от 1 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/