Files
Andrey Kruchinkin 34cbd92808 feat(rtc-service): служба RTC с резервированным backup-томом
Перенесена из k1921vk028/1921vk028/lib/rtc_service.

Ядро rtc_service_core.c зависит только от stddef, string и собственных
заголовков; доступ к часам и backup-памяти вынесен в rtc_service_port.h.
Порт для K1921VK028 идёт в комплекте и служит образцом для следующего МК.
2026-08-23 01:15:36 +03:00
..

RTC Service

Независимый модуль для управления RTC с резервированным backup-томом на K1921VK028.

  • Ядро: rtc_service_core.c
  • Порт HAL: rtc_service_port_k1921vk028.c
  • Публичный API: rtc_service.h, rtc_service_types.h, rtc_service_port.h

Быстрый старт

#include "rtc_service.h"

RtcService_InitConfig cfg = {
    .preferred_clock_source = RTC_SERVICE_CLOCK_SOURCE_AUTO,
    .fallback_datetime = {
        .year = 25, .month = 1, .day = 1,
        .weekday = 3, .hour = 0, .minute = 0, .second = 0
    }
};
RtcService_Status status;
RtcService_Init(&cfg, &status);

Структура файлов:

lib/rtc_service/
  ├─ rtc_service_types.h
  ├─ rtc_service.h
  ├─ rtc_service_port.h
  ├─ rtc_service_port_k1921vk028.c
  ├─ rtc_service_core.c
  ├─ README.md
  ├─ PROJECT_RELATIONS.md
  ├─ HELP.md
  └─ PORTING.md

Интеграция

Для текущего проекта:

  1. В main/app/main.c вызвать RtcService_Init(...) из periph_init.
  2. Считать время RtcService_GetDateTime(...) где нужно.
  3. Для изменения времени использовать RtcService_SetDateTime(...).

Полезные ссылки