Страница 1 из 1
STM32F4 RTC время 31:15
Добавлено: Сб июн 08, 2013 10:29:25
zvukovik
подскажите, почему часы сами не сбрасывают счётчик часов и не перещёлкивают дату, а показывают вышеуказанное время?, привожу свой код:
Код: Выделить всё
void RTC_init(void)
{
RCC->APB1ENR|=RCC_APB1ENR_PWREN;
PWR->CR|=PWR_CR_DBP;
RCC->CSR|=RCC_CSR_LSION;
while(!(RCC->CSR&RCC_CSR_LSIRDY));
if(RTC->ISR&RTC_ISR_INITS)return;
RCC->BDCR|=RCC_BDCR_BDRST;
RCC->BDCR&=~RCC_BDCR_BDRST;
RCC->BDCR&=~RCC_BDCR_RTCSEL;
RCC->BDCR|=(RCC_BDCR_RTCSEL_1);
RCC->BDCR|=RCC_BDCR_RTCEN;
RTC->WPR=0xCA;
RTC->WPR=0x53;
RTC->ISR|=RTC_ISR_INIT;
while(!(RTC->ISR&RTC_ISR_INITF));
RTC->PRER=249;
RTC->PRER=249|(127<<16);
RTC->CR|=RTC_CR_FMT;
RTC->ISR&=~RTC_ISR_INIT;
RTC->WPR=0;
RTC->WPR=0;
}
sprintf(text_buf, "%i:%02d",((RTC->TR>>20)&3)*10+((RTC->TR>>16)&0xF),((RTC->TR>>12)&7)*10+((RTC->TR>>8)&0xF));//выводим время
sprintf(text_buf, "%i %s %i",((RTC->DR>>4)&3)*10+(RTC->DR&0xF),month[((RTC->DR>>12)&1)*10+((RTC->DR>>8)&0xF)-1],((RTC->DR>>20)&0xF)*10+((RTC->DR>>16)&0xF)+2000);//выводим дату
Re: STM32F4 RTC время 31:15
Добавлено: Сб июн 08, 2013 18:35:18
zvukovik
проблема решилась, сорри за пустую тему
Re: STM32F4 RTC время 31:15
Добавлено: Сб июн 08, 2013 18:57:40
blackx
Решили проблему, не поленитесь, напишите в чем было дело. Вдруг кто-нибудь тоже с этим столкнется!
Re: STM32F4 RTC время 31:15
Добавлено: Вт июн 25, 2013 19:08:27
osievskiy
Уважаемые! А реально использовать RTC в STM32F4 без внешнего кварца или отдельного модуля реального времени?
Re: STM32F4 RTC время 31:15
Добавлено: Вт июн 25, 2013 21:36:36
urry
"может ли сэр Ланселот победить дракона ?
Может. Но не Ланселот. И не дракона . И не победить"(с)

Ну почему нет ? Поставить дс1307 и по и2с забирать данные.

Re: STM32F4 RTC время 31:15
Добавлено: Вт июн 25, 2013 23:09:30
osievskiy
urry писал(а):Ну почему нет ? Поставить дс1307 и по и2с забирать данные.
Но это разве не внешние модули?
Re: STM32F4 RTC время 31:15
Добавлено: Ср июн 26, 2013 00:02:22
balmer
urry писал(а): Поставить дс1307 и по и2с забирать данные.
DS1307 - старенькая микросхема, да и питается от 5 Вольт.
Вот первое, что попалось из легко покупаемого
MCP79410
Но по мне раз уж такой модуль есть внутри STM32, то надо пользоваться.
Re: STM32F4 RTC время 31:15
Добавлено: Ср июн 26, 2013 00:03:41
osievskiy
osievskiy писал(а):Но по мне раз уж такой модуль есть внутри STM32, то надо пользоваться.
Подскажите, а как это сделать?
Re: STM32F4 RTC время 31:15
Добавлено: Ср июн 26, 2013 14:46:23
Galizin
Project/Examples/RTC ?
Re: STM32F4 RTC время 31:15
Добавлено: Ср июн 26, 2013 23:29:14
osievskiy

Нет там такого, есть что то подобное на реализацию RTC , но похоже с внешним тактированием
Re: STM32F4 RTC время 31:15
Добавлено: Ср июн 26, 2013 23:34:29
balmer
osievskiy писал(а):
Нет там такого, есть что то подобное на реализацию RTC , но похоже с внешним тактированием
Да, кварц на 32768+2 конденсатора нужны будут. Естественно внутренний RC осцилятор не очень точен. Внешнюю микросхемку не очень хорошо ставить с точки зрения энергопотребления. Так тикает RTC внутри микроконтроллера, можно просыпаться от него вовремя, минимум энергопотребления. С внешней микросхемкой впринципе то-же самое, но проводов побольше.
Re: STM32F4 RTC время 31:15
Добавлено: Вт июл 09, 2013 10:54:19
zvukovik
проблема оказалась в том, что формат был выбран 12-часовой, а время я выставил 15...вот сравнение для сброса и не прошло
Re: STM32F4 RTC время 31:15
Добавлено: Вт июл 09, 2013 20:50:36
osievskiy
Вот такой вот вопрос по теме.
Есть у меня отдельный RTC модуль по I2C .. и там есть вывод под тактирование других устройств... можно этот вывод использовать что бы затактировать RTC у STM32F4
Если да то как? Перерыл гугл и толком ничего не нашел.
Re: STM32F4 RTC время 31:15
Добавлено: Ср июл 10, 2013 05:24:08
optima
Тут не гугл нужно перерывать! а даташит курить!
Re: STM32F4 RTC время 31:15
Добавлено: Ср июл 10, 2013 10:07:57
osievskiy
То есть можно так сделать, но как?
Re: STM32F4 RTC время 31:15
Добавлено: Ср июл 10, 2013 10:23:52
Galizin
раздел
External source (LSE bypass)
Re: STM32F4 RTC время 31:15
Добавлено: Ср июл 10, 2013 14:09:45
osievskiy
О да это мне очень помогло)) На сколько я понял нужно к PC14 (OSC32_IN) подключать тактовый сигнал и каким то макаром настраивать RTC,
как его настроить что бы он брал тактовый с PC14 ?