Например TDA7294

Форум РадиоКот :: Просмотр темы - stm32f4, rtc не вылетает в прерывания
Форум РадиоКот
https://radiokot.ru/forum/

stm32f4, rtc не вылетает в прерывания
https://radiokot.ru/forum/viewtopic.php?f=59&t=151396
Страница 1 из 1

Автор:  themaster [ Ср янв 03, 2018 23:02:38 ]
Заголовок сообщения:  stm32f4, rtc не вылетает в прерывания

Всем добрый вечер!

Колупаю свежеприобретённую плату на stm32f407zet6. Пытаюсь завести прерывания от RTC. Программа на ассемблере, поэтому весь код приводить не буду.
Я действую следующим образом: захожу в отладку Keil'а, запускаю программу на выполнение. Мне надо, чтобы каждую секунду программа вылетала на прерывание (простейшая моргалка). В обработчике прерывания стоит точка останова, программа не останавливается. Я нажимаю "Стоп" и проверяю состояние программы:
1) NVIC, пункт 57 ( RTC Alarms (A and B) through EXTI line interrupt ): E(nabled) = 1, P(ending) = 0, A(ctive) = 0. То есть, прерывание разрешено, но не активно и не обрабатывается.
2) EXTI: IMR, MR17 = 1, EMR = 0, то есть, EXTI линия 17 (на которой висит RTC) включена. EMR = 0, то есть, это прерывание, а не событие. RTSR (rising edge) TR17 = 1, выбран возрастающий фронт. PR = 0, никаких pending interrupts нет. То есть, прерывание от RTC не добралось до EXTI.
3) RTC: В регистре CR флаги ALRAE и ALRAIE стоят. То есть, Alarm A включено и прерывание по нему - тоже. В регистре ISR флаг ALRAF стоит - тревога сработала.
Но прерывания - не было!
Команда CPSIE f в конце настройки присутствует и выполнена. Глобальные прерывания должны быть разрешены.
Вопрос: что я забыл настроить? Куда лезьть, что проверять? Может, я какие-то периферийные прерывания запретил, или какой-нибудь уровень прерываний не выставлен? Но тогда бы в EXTI висел бит Pending... В идеале, если я действительно забыл что-то включить/отключить/настроить, я предполагаю прямо в отладчике исправить соответствующий бит, убедиться, что прерывания срабатывают - а дальше править программу.
Только вот что исправлять - непонятно. Буду благодарен за любые идеи и подсказки...

Автор:  themaster [ Пт янв 05, 2018 16:32:19 ]
Заголовок сообщения:  Вопрос закрыт, сам разобрался

При настройке часов надо не забывать делать их сброс. В серии STM32F4 сбросить сами часы нельзя, но можно сбросить Backup Domain. Когда сбросил - всё заработало.

Автор:  Alex1603 [ Пт фев 21, 2025 11:03:54 ]
Заголовок сообщения:  Re: stm32f4, rtc не вылетает в прерывания

Добрый день! Сталкнулся с такой же проблемой но на STM32H7B0. сброс backup домена не помогает.
Поясните как вы сбрасывали его.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/