24#include "hal_common.h"
26#if defined(__cplusplus)
36#ifndef RWC_SYNC_RETRY_TIMES
37#define RWC_SYNC_RETRY_TIMES 0U
43#define RWC_SET_RETRY_TIMES 10U
49#define SECONDS_IN_A_DAY (86400U)
50#define SECONDS_IN_A_HOUR (3600U)
51#define SECONDS_IN_A_MINUTE (60U)
52#define DAYS_IN_A_YEAR (365U)
53#define YEAR_RANGE_START (1970U)
54#define YEAR_RANGE_END (2099U)
903#if defined(__cplusplus)
#define FIELD_BIT(top, bottom)
Вычисление длины битового поля
Definition hal_common.h:190
enum rwc_status RWC_SetWakeUpEnable(RWC_Type *base, bool enable)
Разрешение работы входа wake_up.
enum rwc_status RWC_SetLFx(RWC_Type *base, enum rwc_rtcclk_type value)
Выбор генератора LFE или LFI.
rwc_internal_register
Внутренние регистры с батарейным питанием
Definition hal_rwc.h:299
enum rwc_status RWC_Deinit(RWC_Type *base)
Деинициализирует таймер реального времени
rwc_timer_status
Статусы таймера
Definition hal_rwc.h:381
enum rwc_status RWC_EnableAlarmTimerInterruptFromDPD(RWC_Type *base, bool enable)
Разрешение прерывания по сигналу будильника из режима глубокого отключения питания
rwc_rtcclk_type
Источник частоты, подаваемой на RTCCLK.
Definition hal_rwc.h:313
enum rwc_status RWC_SetSecondsTimerCount(RWC_Type *base, uint32_t count_value)
Устанавливает текущее время в секундах
rwc_rtcclk_divisor
Делители частоты RTCCLK.
Definition hal_rwc.h:332
enum rwc_status RWC_EnableWakeUpTimerInterruptFromDPD(RWC_Type *base, bool enable)
Разрешение прерывания по сигналу wake-up из режима глубокого отключения питания
enum rwc_status RWC_SetLFEBypass(RWC_Type *base, enum rwc_lfe_bypass value)
Выбор режима работы осциллятора LFE.
enum rwc_status RWC_SetInternalRegister(RWC_Type *base, enum rwc_internal_register reg, union rwc_union_reg value)
Запись значения во внутренний регистр RWC.
enum rwc_status RWC_SetWakeUpActiveLewel(RWC_Type *base, enum rwc_wake_up_polarity value)
Установка полярности сигнала wake_up.
enum rwc_status RWC_SetDatetime(RWC_Type *base, const rtc_datetime_t *datetime)
Устанавливает текущее время и дату согласно заданной структуре
enum rwc_status RWC_GetAlarm(RWC_Type *base, rtc_datetime_t *datetime)
Возвращает время будильника
enum rwc_status RWC_Init(RWC_Type *base, struct rwc_config cfg)
Инициализирует таймер реального времени
rwc_freq_serial
Значения делителей частоты внутреннего интерфейса
Definition hal_rwc.h:433
uint32_t RWC_GetSecondsTimerMatch(RWC_Type *base)
Получает актуальное время срабатывания будильника в секундах
rwc_cmd
Команды доступа к внутренним регистрам
Definition hal_rwc.h:357
rwc_alarm_enable
Разрешение прерывания ALARM.
Definition hal_rwc.h:406
enum rwc_status RWC_SetAlarm(RWC_Type *base, const rtc_datetime_t *alarmTime)
Устанавливает время будильника
enum rwc_status RWC_GetRTCClkParam(uint32_t *div, enum rwc_rtcclk_type *src)
Чтение делителя и источника частоты RTCCLK.
enum rwc_status RWC_GetInternalRegister(RWC_Type *base, enum rwc_internal_register reg, union rwc_union_reg *value)
Чтение значения из внутреннего регистра RWC.
uint32_t RWC_GetStatusFlags(RWC_Type *base)
Получение статусов таймера реального времени
enum rwc_status RWC_SetSecondsTimerMatch(RWC_Type *base, uint32_t match_value)
Устанавливает время будильника в секундах
rwc_time_clk_sel
Выбор сигнала для тактирования счетчика времени
Definition hal_rwc.h:263
rwc_wake_up_irq_enable
Разрешение прерывания RWC_WKUP.
Definition hal_rwc.h:281
enum rwc_status RWC_GetSecondsTimerCount(RWC_Type *base, uint32_t *sec)
Получение текущее время в секундах
enum rwc_status RWC_GetLastAPIStatus()
Получение статуса выполнения функции, тип результата которой отличен от enum rwc_status.
rwc_lfe_bypass
Режимы работы осциллятора LFE.
Definition hal_rwc.h:290
rwc_reset_type
Виды сбросов внутренних регистров при сигнале SRSTn.
Definition hal_rwc.h:323
rwc_wake_up_polarity
Уровень активного сигнала WKUP для генерирования прерывания
Definition hal_rwc.h:272
rwc_wkup_enable
Разрешение работы входа WKUP.
Definition hal_rwc.h:415
enum rwc_status RWC_GetDatetime(RWC_Type *base, rtc_datetime_t *datetime)
Получает текущее дату/время и сохраняет в указанную структуру
enum rwc_status RWC_GetDefaultConfig(struct rwc_config *config)
Получение конфигурации таймера по умолчанию
struct _rtc_datetime rtc_datetime_t
Структура используемая для хранения даты и времени
enum rwc_status RWC_SetRTCClkParam(uint32_t div, enum rwc_rtcclk_type src)
Запись делителя и источника частоты RTCCLK.
uint32_t RWC_GetTime(RWC_Type *base)
Чтение значения счетчика реального времени
enum rwc_status RWC_InterruptClear(RWC_Type *base)
Сброс прерывания RWC_ALARM.
rwc_shutdown_force
Принудительный переход в SHUTDOWN.
Definition hal_rwc.h:424
enum rwc_status RWC_SetResetCtrl(RWC_Type *base, enum rwc_reset_type value)
Управление сбросом регистров при сигнале на входе SRSTn.
rwc_status
Статусы драйвера CLKCTR.
Definition hal_rwc.h:367
@ RWC_TrimLoad
Definition hal_rwc.h:300
@ RWC_Config
Definition hal_rwc.h:304
@ RWC_Time
Definition hal_rwc.h:301
@ RWC_GeneralReg
Definition hal_rwc.h:305
@ RWC_Trim
Definition hal_rwc.h:303
@ RWC_WakeConfig
Definition hal_rwc.h:306
@ RWC_Alarm
Definition hal_rwc.h:302
@ RWC_WakeStat1
Definition hal_rwc.h:399
@ RWC_WakeStat2
Definition hal_rwc.h:393
@ RWC_WakeStat3
Definition hal_rwc.h:386
@ RWC_RTCClkTypeLFI
Definition hal_rwc.h:314
@ RWC_RTCClkTypeLFE
Definition hal_rwc.h:315
@ RWC_Div1024
Definition hal_rwc.h:343
@ RWC_Div32
Definition hal_rwc.h:338
@ RWC_Div2
Definition hal_rwc.h:334
@ RWC_Div1
Definition hal_rwc.h:333
@ RWC_DivMax
Definition hal_rwc.h:350
@ RWC_Div32768
Definition hal_rwc.h:348
@ RWC_Div512
Definition hal_rwc.h:342
@ RWC_Div8192
Definition hal_rwc.h:346
@ RWC_Div256
Definition hal_rwc.h:341
@ RWC_Div16384
Definition hal_rwc.h:347
@ RWC_Div4096
Definition hal_rwc.h:345
@ RWC_Div4
Definition hal_rwc.h:335
@ RWC_Div64
Definition hal_rwc.h:339
@ RWC_Div2048
Definition hal_rwc.h:344
@ RWC_Div16
Definition hal_rwc.h:337
@ RWC_Div8
Definition hal_rwc.h:336
@ RWC_Div128
Definition hal_rwc.h:340
@ RWC_FS125kHz
Definition hal_rwc.h:440
@ RWC_FS625hHz
Definition hal_rwc.h:441
@ RWC_FS8MHz
Definition hal_rwc.h:434
@ RWC_FS250kHz
Definition hal_rwc.h:439
@ RWC_FS4MHz
Definition hal_rwc.h:435
@ RWC_FS1MHz
Definition hal_rwc.h:437
@ RWC_FS500kHz
Definition hal_rwc.h:438
@ RWC_FS2MHz
Definition hal_rwc.h:436
@ RWC_CmdWait
Definition hal_rwc.h:358
@ RWC_CmdRead
Definition hal_rwc.h:360
@ RWC_CmdWrite
Definition hal_rwc.h:359
@ RWC_AlarmEnable
Definition hal_rwc.h:408
@ RWC_AlarmDisable
Definition hal_rwc.h:407
@ RWC_TimeClock1Hz
Definition hal_rwc.h:265
@ RWC_TimeClock32kHz
Definition hal_rwc.h:264
@ RWC_IRQWkUpDisable
Definition hal_rwc.h:282
@ RWC_IRQWkUpEnable
Definition hal_rwc.h:283
@ RWC_QuartzResonator
Definition hal_rwc.h:291
@ RWC_CMOSSignal
Definition hal_rwc.h:292
@ RWC_ResetOnlyWakeConfigAndConfig
Definition hal_rwc.h:324
@ RWC_ResetAllExpectedGeneralReg
Definition hal_rwc.h:325
@ RWC_WkUpPolarityLow
Definition hal_rwc.h:274
@ RWC_WkUpPolarityHigh
Definition hal_rwc.h:273
@ RWC_WkUpEnable
Definition hal_rwc.h:417
@ RWC_WkUpDisable
Definition hal_rwc.h:416
@ RWC_ShutdownSet
Definition hal_rwc.h:426
@ RWC_ShutdownNoSet
Definition hal_rwc.h:425
@ RWC_Status_HardwareBusy
Definition hal_rwc.h:373
@ RWC_Status_InvalidArgument
Definition hal_rwc.h:369
@ RWC_Status_Ok
Definition hal_rwc.h:368
@ RWC_Status_ConfigureError
Definition hal_rwc.h:372
@ RWC_Status_VerifyError
Definition hal_rwc.h:371
@ RWC_Status_Timeout
Definition hal_rwc.h:374
@ RWC_Status_CheckError
Definition hal_rwc.h:370
uint32_t RWC_ConvertDatetimeToSeconds(const rtc_datetime_t *datetime)
Преобразование переменной типа данных datetime в секунды
Структура используемая для хранения даты и времени
Definition hal_rwc.h:448
uint8_t minute
Definition hal_rwc.h:453
uint8_t second
Definition hal_rwc.h:454
uint8_t day
Definition hal_rwc.h:451
uint16_t year
Definition hal_rwc.h:449
uint8_t hour
Definition hal_rwc.h:452
uint8_t month
Definition hal_rwc.h:450
Регистр времени пробуждения
Definition hal_rwc.h:93
uint32_t alarm
Definition hal_rwc.h:95
Конфигурационный регистр
Definition hal_rwc.h:144
uint32_t time_clk_sel
Definition hal_rwc.h:150
uint32_t osc_sel
Definition hal_rwc.h:155
uint32_t shutdown_force
Definition hal_rwc.h:199
uint32_t wake_stat1
Definition hal_rwc.h:206
uint32_t wake_in_en
Definition hal_rwc.h:189
uint32_t reset_en
Definition hal_rwc.h:166
uint32_t pl
Definition hal_rwc.h:187
uint32_t pz
Definition hal_rwc.h:180
uint32_t clk_div
Definition hal_rwc.h:159
uint32_t alarm_en
Definition hal_rwc.h:173
Структура используемая для конфигурирования RWC.
Definition hal_rwc.h:461
enum rwc_wake_up_irq_enable wake_en
Definition hal_rwc.h:495
enum rwc_lfe_bypass lfe_bypass
Definition hal_rwc.h:465
enum rwc_shutdown_force shutdown_force
Definition hal_rwc.h:479
enum rwc_rtcclk_divisor clkdiv
Definition hal_rwc.h:490
uint32_t wake_stat1
Definition hal_rwc.h:473
uint32_t general
Definition hal_rwc.h:493
uint32_t pz
Definition hal_rwc.h:482
uint32_t time
Definition hal_rwc.h:463
enum rwc_freq_serial presc
Definition hal_rwc.h:496
enum rwc_time_clk_sel time_clk_sel
Definition hal_rwc.h:492
uint32_t trim_lfi
Definition hal_rwc.h:466
enum rwc_wkup_enable wake_in_en
Definition hal_rwc.h:480
uint32_t alarm_time
Definition hal_rwc.h:464
enum rwc_wake_up_polarity wake_pol
Definition hal_rwc.h:494
uint32_t pl
Definition hal_rwc.h:481
bool trimload
Definition hal_rwc.h:462
enum rwc_rtcclk_type osc_sel
Definition hal_rwc.h:491
uint32_t trim_lfe
Definition hal_rwc.h:467
enum rwc_alarm_enable alarm_en
Definition hal_rwc.h:488
enum rwc_reset_type reset_en
Definition hal_rwc.h:489
Регистр общего назначения
Definition hal_rwc.h:216
uint32_t time
Definition hal_rwc.h:218
Регистр текущего значения счетчика времени
Definition hal_rwc.h:83
uint32_t time
Definition hal_rwc.h:85
Регистр подстройки осцилляторов
Definition hal_rwc.h:107
uint32_t lfe_bypass
Definition hal_rwc.h:113
uint32_t trim_lfe
Definition hal_rwc.h:109
uint32_t wake_stat3
Definition hal_rwc.h:130
uint32_t trim_lfi
Definition hal_rwc.h:111
uint32_t wake_stat2
Definition hal_rwc.h:123
Регистр записи значения подстройки из регистра TRIM.
Definition hal_rwc.h:70
uint32_t trimload
Definition hal_rwc.h:72
Регистр настройки контроллера пробуждения
Definition hal_rwc.h:227
uint32_t wake_en
Definition hal_rwc.h:229
uint32_t wake_pol
Definition hal_rwc.h:233
Объединение для доступа к регистрам
Definition hal_rwc.h:244
struct rwc_time_reg time
Definition hal_rwc.h:247
struct rwc_alarm_reg alarm
Definition hal_rwc.h:248
struct rwc_trim_reg trim
Definition hal_rwc.h:249
struct rwc_config_reg config
Definition hal_rwc.h:250
struct rwc_general_reg general
Definition hal_rwc.h:251
uint32_t reg_value
Definition hal_rwc.h:245
struct rwc_wake_config_reg wake_config
Definition hal_rwc.h:252
struct rwc_trimload_reg trimload
Definition hal_rwc.h:246