eddy_em: (Default)
[personal profile] eddy_em
Начал ковыряться с RTC. В отличие от убогого F103, здесь все с регистрами почти нормально (разве что они в BCD формате, да еще и кривом, что добавляет немало хлопот с лишними вычислениями). Инициализация достаточно просто делается, нужно лишь почитать мануал: убираем защиту от чтения в регистре PWR->CR1, запускаем тактирование, запускаем LSE, настраиваем тактирование RTC от LSE, разблокируем от записи регистры конфигурации RTC (для этого последовательно пишем 0xCA и 0x53 в регистр RTC->WPR), входим в режим инициализации (RTC->ICSR |= RTC_ICSR_INIT), ждем установки флага инициализации, устанавливаем RTC->PRER (0x7f и 0xff), при необходимости выставляем дату, выходим из режима инициализации. Вуаля — RTC работает. Причем, работает он и в режиме отладки, и в процессе софтового сброса.
Со всякими будильниками заморачиваться не буду. Пока написал функцию представления времени в стандартном формате команды date. Потом еще сделаю установку заданных даты/времени и коррекцию частоты (регистром RTC->CALR).

October 2025

S M T W T F S
   1234
567 89 1011
121314 15161718
19202122232425
2627 28293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 25th, 2026 10:49 am
Powered by Dreamwidth Studios