[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
PIC16F877 c подпрограммой часов просыпался не только по прерыванию от TMR1, но и от чего-то другого. Все другие прерывания запрещались и все другие флаги сбрасывались и до и после SLEEPа.
Правда это проявлялось только при дерганьи питания (переключении с главного питания на батарейку и обратно).
Поборол это проверкой после SLEEPа флага TMR1IF, и при его отсутствии отправлением ПИКа обратно в SLEEP.
p.s.Сама процедурка отправки в SLEEP была след.(см.даташеет, там масса ньюансов!):
CLRWDT();
do { SLEEP(); NOP(); } while (PD);
CLRWDT(); // Wake-Up from Sleep
p.p.s. ЁёёёёЁЁЁЁЁ:))
E-mail: info@telesys.ru