Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: У кого-нибудь работают часы на STM32F4xx?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Dr.Alex
У меня часовой кварц генерит, частоту даже можно вывести на MCO1, но после установки бита INIT бит INITF никогда не встаёт, и проинициализировать часы соотвецно невозможно.
Aner
У разных по разному. Какой у вас проц из 4хх ?
Dr.Alex
439
Aner
у меня из старших 417, 427, 429, 446 в проектах. Так при перходе например с 417 на 427 работать с DMA пришлось по новому, писать заново весь код.
Много чего добавили в архитектуре проца 427. Читайте эраты на 439, проерьте вашу ревизию, мож там чего. С INIT, INITF там по другому против 407. Первые выпуски чипов с багами обычно и они суют в дешевые киты для приманки. Так в третьем выпуске 427, v1.0 USB2.0 не алё, а в последней v3.0 без проблем.
kolobok0
Цитата(Dr.Alex @ Dec 15 2014, 13:51) *
...соотвецно невозможно.


417 - вроде как подводных камней не наблюдал.
Aner
какой ревизии 417, и потом что из периферии и как юзается ...
Dr.Alex
У меня на ките 429 рев Y и две своих платы 439 рев 1 нихрена не работает.
adnega
Все работает.

CODE
void init_RTC(void)
{
PWR->CR |= (1 << PWR_CR_DPB);

RTC->WPR = 0xCA;
RTC->WPR = 0x53;

RCC->BDCR =
(1 << RCC_BDCR_LSEON)
| (RCC_RTC_LSE_CLOCK << RCC_BDCR_RTCSEL)
| (1 << RCC_BDCR_RTCEN);

RTC->ISR |= (1 << RTC_ISR_INIT);

con_str("\n\r{1}\n\r"); con_start();
while(~RTC->ISR & (1 << RTC_ISR_INITF));
con_str("\n\r{2}\n\r"); con_start();

RTC->PRER = (0x7F << RTC_PRER_PREDIV_A) | (0xFF << RTC_PRER_PREDIV_S);
RTC->PRER = (0x7F << RTC_PRER_PREDIV_A) | (0xFF << RTC_PRER_PREDIV_S);

RTC->TR = 0;
RTC->DR = 0;
RTC->ALRMAR = (1UL << 31) | (1 << 24) | (2 << 4);

RTC->CR = (0 << RTC_CR_FMT) | (1 << 21) | (1 << 8);

RTC->TAFCR = (1 << 18);

RTC->ISR &= ~((1 << RTC_ISR_INIT) | (1 << RTC_ISR_ALRAF));

con_str("\n\r{3}\n\r"); con_start();
while(~RTC->ISR & (1 << RTC_ISR_RSF));
con_str("\n\r{4}\n\r"); con_start();

RTC->WPR = 0xFF;
}

а перед этим
RCC->APB1ENR = 0
| (0 << RCC_APB1_TIM12)
| (1 << RCC_APB1_PWR);

Aner
так, да. Но rev.Y я бы выбросил.
Dr.Alex
Разобралсо, оказуется их HAL нигде не ставил бит RTCEN. Заработало.

Вот так вот чужим пользоваться, вроде и помогает иногда, а другой раз ищи-свищи где там чё происходит.. :-о
sherr
Цитата(Aner @ Dec 15 2014, 16:01) *
у меня из старших 417, 427, 429, 446 в проектах.

446 еще у ST не появился ...
ps извиняюсь, не так искал - есть такой .
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.