Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Interrupt Cortex M3
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
bingo
Добрый день.
Подскажите пожалуйста по поводу автоматической очистки бита отложенного прерывания..

В соответствии с документацией на ARM Cortex-M3":
"..When the processor starts to execute an interrupt, the interrupt becomes active and the pending bit will be cleared automatically.."

Однако, пока перед выходом из прерывания не добавишь ручную очистку соответствующего бита отложенного прерывания (pending bit)

например так, TIM_ClearPendingBit(TIM6, TIM_IT_Updare);

Прерывания не работают

Так почему же не происходит автоматическая очистка этого бита.
На всякий случай поясню - проверял и на редких прерываниях (10ms), а обработчик очень короткий.



Заранее спасибо!

scifi
Внутри периферии (таймера в данном случае) тоже есть бит отложенного прерывания. Такие биты нужно сбрасывать руками. В документации на процессор речь идёт о бите отложенного прерывания внутри NVIC, он работает несколько иначе. Отсюда и путаница.
RabidRabbit
Лично я думаю, что Cortex-M3 вовсе не обязан знать про TIM6 и прочую внешнюю хрень, навешанную разработчиком контроллера sm.gif Про корректную обработку прерываний от внешнего (по отношению к CPU) оборудования читайте документацию от разработчика - STM, Atmel и т.д.
bingo
Цитата(scifi @ Jun 12 2016, 09:43) *
Внутри периферии (таймера в данном случае) тоже есть бит отложенного прерывания. Такие биты нужно сбрасывать руками. В документации на процессор речь идёт о бите отложенного прерывания внутри NVIC, он работает несколько иначе. Отсюда и путаница.


Спасибо всем!
Очень похоже, что дело в этом.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.