ATSAMD21 сон + watchdog?

Есть ли у кого-нибудь режим сна/ожидания + сторожевой таймер для совместной работы на Arduino Zero или Sparkfun SAMD mini?

Я могу заставить WDT перезагрузить устройство и перевести его в спящий режим, но не могу заставить WDT вывести его из спящего режима. Каждый раз, когда я пытаюсь, он снова выходит из спящего режима, как будто SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk даже не вызывался

, 👍1


1 ответ


1

используйте это:

attachInterrupt(wakeUpPin, wakeupFunction, HIGH);
    USBDevice.detach();
    SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
    __DSB();
    __WFI();

void wakeupFunction(){
  NVIC_SystemReset();
}
,