feat(rtc-service): служба RTC с резервированным backup-томом
Перенесена из k1921vk028/1921vk028/lib/rtc_service. Ядро rtc_service_core.c зависит только от stddef, string и собственных заголовков; доступ к часам и backup-памяти вынесен в rtc_service_port.h. Порт для K1921VK028 идёт в комплекте и служит образцом для следующего МК.
This commit is contained in:
53
c/rtc-service/README.md
Normal file
53
c/rtc-service/README.md
Normal file
@@ -0,0 +1,53 @@
|
||||
# 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`
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
```c
|
||||
#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(...)`.
|
||||
|
||||
## Полезные ссылки
|
||||
|
||||
- Обязательные правила: [TASK_RULES.md](../../TASK_RULES.md)
|
||||
- Детальные связи: [PROJECT_RELATIONS.md](./PROJECT_RELATIONS.md)
|
||||
- Пользовательская документация: [HELP.md](./HELP.md)
|
||||
- Переход на другую платформу: [PORTING.md](./PORTING.md)
|
||||
Reference in New Issue
Block a user