Всем привет!
Нарыл и оттёр от пыли 3 стареньких nrf24le1 модулька дабы реализовать на них дистанционный съём данных. Всё шло хорошо, пока я не попытался начать экономить батарейку и не начал усыплять проц. Сразу оговорюсь - усыплять пытаюсь в
Memory retention, timers on.
В документации сказано буквально следующее:
Цитата
Wakeup source(s):
From pin, wakeup TICK from timer or voltage level on pin (analog
comparator wakeup)
Для этого делаю такое:
Код
PWRDWN = 0x03;
while(1);
в результате оно вроде засыпает. Но вот разбудить не могу. А бужу так, точнее настраиваю:
Код
WUCON = 0x08; //Принудительно разрешить WUOPIRQ
WUOPC0 = 0x40; //Внешнее прерывание по P0.6
IEN0 = 0x81;
IEN1 = 0x08; // Wakeup on pin (WUOPIRQ) interrupt enable
INTEXP =0x08; //Enable GP INT0 (from pin) 0 to IFP
В результате прерывание приходит, но стоит усыпить проц, то всё - обратно только ресетом.
Что я не так делаю то?