Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: LPC Idle mode
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Alechek
LPC214x.
Ни в UM, ни в Datasheet, ни в "AN10421 Power management for LPC2138" не нашел, какой же сигнал заводится на контроллер спячки..
Везде написано, что в работу ядро вступает по прерыванию. Время выхода на нормальный режим не нашел...
И самое главное, проснется ли он, если прерывания глобально запрещены? В частности, если в дрему ушли из IRQ?
Alechek
Скоро с ума сойду с этим IDLE mode wacko.gif
Задача - заставить не работать (мало потреблять) процессор N миллисекунд.

Не могу понять, что запускает триггер выхода из этого режима...
Если запретить глобально прерывания - выходит.
Если запретить все вектора VICIntEnable = 0 - выходит
Если запускать сразу из прерывания - остается навсегда
Если запускать из прерывания после VICVectAddr = 0 - выходит.

Пока не вырубил всю ненужную периферию PCONP, выходил всегда _сразу_, хотя прериодических прерываний у меня более нет.
Причем выходит по нужному мне прерыванию от таймера только один раз (при запрещенных прерываниях).
help.gif Как его победить? Где взять диаграмму подключений этого чертового контроллера питания?
GetSmart
Цитата(Alechek)
Если запретить глобально прерывания - выходит.
Если запретить все вектора VICIntEnable = 0 - выходит
Если запускать сразу из прерывания - остается навсегда
Если запускать из прерывания после VICVectAddr = 0 - выходит.
Судя по этому - выход из спячки по запросу IRQ или FIQ, пропущенному через VIC, вне зависимости от глобального разрешения прерываний. Однако, если VIC запрещает все (запущенные) прерывания, то процессор уже не проснётся. В частности так происходит внутри единственного активного обработчика до записи в VICVectAddr, когда VIC запрещает текущее прерывание полностью.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.