[an error occurred while processing this directive]
|
Строка SREG&=128; не запрещает прерывания.
Надо: SREG&=127;
А еще проще: _CLI(); или __disable_interrupt(); (или как еще, зависит от компилятора).
Что касается нехороших выводов, то если есть подозрения, лучше поставить внешний супервизор и спать спокойно. Неплохо еще в любом случае, проверять целостность данных.
E-mail: info@telesys.ru