Цитата(esaulenka @ Oct 7 2016, 09:52)

В RTC у STMа есть особенность, что они довольно критичны к качеству кварца. Точнее, к самому кварцу, его обвязке (в лице двух конденсаторов) и монтажу (количеству флюса вокруг).
В погоне за микропотреблением узел получился весьма нежным.
Можно вывести на ногу CLKOUT частоту кварца (подробности - в reference manual) и проверить осциллографом, что оно работает стабильно.
Напрямую в ноги часового кварца тыкать бесполезно - сразу же останавливается.
Очень похоже, что кварц постоянно останавливается-запускается.
Дело в том что пробовал поднять RTC на LSI. Ситуация та же. Изменение регистра счета происходит примерно через 10-15 мин
Инициализация таймера:
RCC_GetClocksFreq(&rcc_Clocks);
//Включается тактирование таймера TIM6
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6,ENABLE);
// Настраиваем делитель что таймер тикал 1000 раз в секунду (
TIM6->PSC = (rcc_Clocks.PCLK1_Frequency / 1000) - 1; //36000
// Чтоб прерывание случалось раз в секунду
TIM6->ARR = 1000 ;
//разрешаем прерывание от таймера
TIM6->DIER |= TIM_DIER_UIE;
// Начать отсчёт!
TIM6->CR1 |= TIM_CR1_CEN;
//Разрешение TIM6_DAC_IRQn прерывания
NVIC_EnableIRQ (TIM6_IRQn);
СКАЖИТЕ ПОЖАЛУЙСТА через какое время должно срабатывать прерывание
Сообщение отредактировал dimon_rub - Oct 7 2016, 10:26