реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> STM32F4Discovery USB + RTC проблема, Какова взаимосвязь между блоками USB и RTC
Vladislav_Minsk
сообщение Jan 31 2013, 10:12
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 7-08-12
Пользователь №: 73 054



Добрый день всем
Столкнулся со следующей ситуацией...
Настроил блок RTC, все необходимые прерывания, запустил часы...
Затем настроил модуль USB...
Всё работает нормально, часики тикают, связь с компом в режиме виртуального сом есть...
Решил добавить Wakeup timer, тоже настроил... Всё вместе работает как требуется, прерывается как надо...
Решил добавить будильник Alarm A and Alarm B... И тут понеслось...
Что удалось определить опытным путём:
Если сначала идёт блок инициализации USB, а потом блок настройки RTC, то RTC не работает, точнее работает, но в настройках ничего не меняется, просто продолжает тактироваться...
Прерывания по Wakeup или Alarm не происходят...
Если блоки инициализируются в обратной последовательности, то RTC успевает переконфигурироваться и даже Wakeup прерывания сбываются...
Однако, Alarm прерывания так и не происходят...
Единственное, что заметил, пока не успел запуститься модуль USB, прерывание по Alarm один раз успевает проскочить (настроено 1 раз в секунду)...
Потом, видимо в модуле USB, что-то случается с прерываниями и больше по Alarm их не происходит...
Закоменчиваю строчку инициализации USB и RTC начинает работать как нужно, со всеми прерываниями...
Как вы думаете, в чём может быть причина, как USB связан с RTC...?
Go to the top of the page
 
+Quote Post
1245
сообщение Jan 31 2013, 10:20
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 31
Регистрация: 21-08-12
Пользователь №: 73 205



Возможно физически на камне где-то есть перемычка?
Go to the top of the page
 
+Quote Post
Vladislav_Minsk
сообщение Feb 1 2013, 09:50
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 7-08-12
Пользователь №: 73 054



Сейчас просмотрел регистры NVIC, прерывания установлены и после инициализации USB сбоса регистров не происходит...
В отладчике видно, что время в регистрах RTC тикает, но вот перехода к обработчику прерывания не происходит...
И всё-таки по Wakeup таймеру прерывание происходило как и по Alarmy (когда успевало)... После инициализации USB, прерывания уже не происходят...
Попробовал добавить кусок программы, где через терминал (USB в режиме COM) ввожу команду, и запускается функция обработки прерывания...
В таком случае всё работает, кнопку нажал, значения на индикаторе обновились, значит команда запустилась... Можно организовать на таймере обновление значений..
Но невозможность использовать Wakeup и Alarm весьма коробит... Буду рыть дальше, искать в чём причина...
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 08:17
Рейтинг@Mail.ru


Страница сгенерированна за 0.0138 секунд с 7
ELECTRONIX ©2004-2016