Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Таймер и прерывания
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
coolibin
Что произойдет со сётом времени, если я на некоторое время выключу обработку прерываний(cli), а потом снова включу(sei)? произойдет что либо критическое или он просто не учтет какой то промежуток времени? таймер работает по переполнению.
Палыч
Если за время запрета прерывания таймер дважды (трижды и т.д) переполнится, то Вы об этом никак не узнаете (флаг переполнения - взведен, и произойдет только одно прерывание по переполнению).
alexander55
Цитата(coolibin @ Nov 13 2007, 10:53) *
Что произойдет со сётом времени, если я на некоторое время выключу обработку прерываний(cli), а потом снова включу(sei)? произойдет что либо критическое или он просто не учтет какой то промежуток времени? таймер работает по переполнению.

Работают независимые механизмы. Счет времени продолжается вне зависисмости разрешены прерывания или запрещены.
coolibin
Цитата(alexander55 @ Nov 13 2007, 10:06) *
Работают независимые механизмы. Счет времени продолжается вне зависисмости разрешены прерывания или запрещены.

Т. е. он продолжит считать с нуля, но прерывание генерится не будет?
Палыч
Цитата(coolibin @ Nov 13 2007, 11:34) *
Т. е. он продолжит считать с нуля, но прерывание генерится не будет?
Таймер - как считал, так считать и будет: флаг I - на счет таймера не влияет. Как только наступит переполнение таймера - взведется флаг переполнения. Таймер продолжит счет с нуля. Как только, прерывания будут разрешены - произойдет прерывание по переполнению (если, это событие произошло за время закрытых прерываний). Но, если время закрытия прерывания больше чем время за которое таймер переполняется, то он (таймер) может переполнится несколько раз. Если последнее имеет место, то после открытия прерывания Вы получите только одно прерывание по переполнению таймера.
alexander55
Цитата(coolibin @ Nov 13 2007, 11:34) *
Т. е. он продолжит считать с нуля, но прерывание генерится не будет?

Если у Вас такой режим таймера, а прерывание запрещено.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.