Например TDA7294

Форум РадиоКот • Просмотр темы - stm32f4, rtc не вылетает в прерывания
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 17, 2024 00:36:06

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: stm32f4, rtc не вылетает в прерывания
СообщениеДобавлено: Ср янв 03, 2018 23:02:38 
Первый раз сказал Мяу!

Зарегистрирован: Вс окт 02, 2011 11:27:00
Сообщений: 23
Рейтинг сообщения: 0
Всем добрый вечер!

Колупаю свежеприобретённую плату на 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... В идеале, если я действительно забыл что-то включить/отключить/настроить, я предполагаю прямо в отладчике исправить соответствующий бит, убедиться, что прерывания срабатывают - а дальше править программу.
Только вот что исправлять - непонятно. Буду благодарен за любые идеи и подсказки...


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Вопрос закрыт, сам разобрался
СообщениеДобавлено: Пт янв 05, 2018 16:32:19 
Первый раз сказал Мяу!

Зарегистрирован: Вс окт 02, 2011 11:27:00
Сообщений: 23
Рейтинг сообщения: 0
При настройке часов надо не забывать делать их сброс. В серии STM32F4 сбросить сами часы нельзя, но можно сбросить Backup Domain. Когда сбросил - всё заработало.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 23


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y