[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Флаг FR я сбрасываю в начале программы (до основного цикла) и больше его не трогаю вообще.
Флаг ADIF вообще не трогаю. В даташите написано, что он сбрасывается апаратно при выполнении прерывания (только я не понял в самом начале или в самом конце п/п прерывания). Эммулятор AVR Studio сбрасывает в начале.
Может его надо самому сбрасывать в п/п прерывания?
Пробовал записывать единицу в ADIF в начале программы (SEI и основного цикла). Тогда после SEI сразу вызывается прерывание от АЦП или это только AVR Studio так работает? потом убрал эту строчку.
Спасибо за ссылку на ERRATA - я его вобще не читал :(
но мне по-моему без разницы (хотя надо проверить) выполнится ли сначала несколько команд после слип, а потом прерывание или наоборот (если я понял в еррата пишут именно про это).
Да еще! Первой строчкой в п/п прерывания идет SEI, что бы разрешить выполнение прерывания от таймера (все таки время должно быть точным) до окончания п/п прерывания (до RETI). Я убирал это SEI, но результат тот же.
E-mail: info@telesys.ru