[an error occurred while processing this directive] [an error occurred while processing this directive]
Ответ:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено SashaErem 07 мая 2002 г. 15:22
В ответ на: Вот выдержки из Errata, может, в этом дело. отправлено BLACKEAGLE 07 мая 2002 г. 13:19

Флаг FR я сбрасываю в начале программы (до основного цикла) и больше его не трогаю вообще.
Флаг ADIF вообще не трогаю. В даташите написано, что он сбрасывается апаратно при выполнении прерывания (только я не понял в самом начале или в самом конце п/п прерывания). Эммулятор AVR Studio сбрасывает в начале.

Может его надо самому сбрасывать в п/п прерывания?

Пробовал записывать единицу в ADIF в начале программы (SEI и основного цикла). Тогда после SEI сразу вызывается прерывание от АЦП или это только AVR Studio так работает? потом убрал эту строчку.

Спасибо за ссылку на ERRATA - я его вобще не читал :(
но мне по-моему без разницы (хотя надо проверить) выполнится ли сначала несколько команд после слип, а потом прерывание или наоборот (если я понял в еррата пишут именно про это).

Да еще! Первой строчкой в п/п прерывания идет SEI, что бы разрешить выполнение прерывания от таймера (все таки время должно быть точным) до окончания п/п прерывания (до RETI). Я убирал это SEI, но результат тот же.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru