Jeśli uC ma być usypiany na precyzyjne odcinki czasu, użyj RTC. Musisz więc wybrać taki uC, w którym RTC jest. Mega328 zastosowana w UNO, niby ma RTC ale jak pamiętam, kwarcu zegarkowego nie można podłączyć do dedykowanych wyprowadzeń tylko do X1 i X2 czyli oscylatora napędzającego uC. Wtedy uC musi byc taktowany wewnętrznym RC, który pracuje na 8MHz. Mega328 nie ma PLL wiec ta max częstotliwość taktowania. Mega328PB ma wbudowany generator kwarcowy 16MHz z tego co pamiętam. Ma też 2 USART, 2 I2C, 2 SPI. W praktyce, bardzo rzadko używam tych maluchów z DebugWire, jeśli już mam używać AVR to te z JTAG więc upewnij sie czy Mega328PB ma wewnętrzny generator 16MHz.
Jeśli usypianie nie musi byc na dokładne odcinki czasu, to można użyć WDG. WDG z Mega328 może generować IRQ więc jest git, bo program może działać po wybudzeniu od miejsca, w którym sie zatrzymał.
Jedną z nielicznych zalet AVR w porównaniu z ARM STM32 jest to, że WDG (IWDG w ARM) może generować przerwania (w ARM tylko WWDG i robią się schody z głębokim usypianiem) i to, że z głębokiego uśpienia uC może kontynuować pracę od miejsca, w którym się zatrzymał. ARM musi wykonać reset, bo w głębokim uśpieniu zawartość RAM jest tracona.
Zwolennicy AVR powinni to co napisałem w ramkę oprawić, bo jest to dobra karta przetargowa w dyskusjach o wyższości AVR nad STM32.
Jeśli usypianie nie musi byc na dokładne odcinki czasu, to można użyć WDG. WDG z Mega328 może generować IRQ więc jest git, bo program może działać po wybudzeniu od miejsca, w którym sie zatrzymał.
Jedną z nielicznych zalet AVR w porównaniu z ARM STM32 jest to, że WDG (IWDG w ARM) może generować przerwania (w ARM tylko WWDG i robią się schody z głębokim usypianiem) i to, że z głębokiego uśpienia uC może kontynuować pracę od miejsca, w którym się zatrzymał. ARM musi wykonać reset, bo w głębokim uśpieniu zawartość RAM jest tracona.
Zwolennicy AVR powinni to co napisałem w ramkę oprawić, bo jest to dobra karta przetargowa w dyskusjach o wyższości AVR nad STM32.