ATSAMD21 сон + watchdog?
Есть ли у кого-нибудь режим сна/ожидания + сторожевой таймер для совместной работы на Arduino Zero или Sparkfun SAMD mini?
Я могу заставить WDT перезагрузить устройство и перевести его в спящий режим, но не могу заставить WDT вывести его из спящего режима. Каждый раз, когда я пытаюсь, он снова выходит из спящего режима, как будто SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk
даже не вызывался
@Malachi, 👍1
1 ответ
▲ 1
используйте это:
attachInterrupt(wakeUpPin, wakeupFunction, HIGH);
USBDevice.detach();
SCB->SCR |= SCB_SCR_SLEEPDEEP_Msk;
__DSB();
__WFI();
void wakeupFunction(){
NVIC_SystemReset();
}
,
@Juan Pablo Jimenez
Смотрите также:
- Как отслеживать миллисекунды в спящем режиме
- Arudino получает команду прерывания ДО перехода в спящий режим, из-за чего он не получает никаких команд прерывания для пробуждения.
- Захват ввода с включенным спящим режимом на плате ATM32u4 работает только при каждом втором чтении в спящем режиме.
- Использование millis() и micros() внутри процедуры прерывания
- Как сделать очень долгую функцию delay(), несколько часов
- Разница между «time_t» и «DateTime»
- Получение BPM из данного кода
- Как считать время в секундах?