Arrow / Mbed OS DAPLink Reset
Embed: (wiki syntax)

« Back to documentation index

RTC Exported Functions

RTC Exported Functions
[RTC Driver]

Functions

__STATIC_INLINE void RTC_WaitAccessEnable (void)
 Wait RTC Access Enable.
void RTC_Open (S_RTC_TIME_DATA_T *sPt)
 Initialize RTC module and start counting.
void RTC_Close (void)
 Disable RTC Clock.
void RTC_32KCalibration (int32_t i32FrequencyX10000)
 Set Frequency Compensation Data.
void RTC_GetDateAndTime (S_RTC_TIME_DATA_T *sPt)
 Get Current RTC Date and Time.
void RTC_GetAlarmDateAndTime (S_RTC_TIME_DATA_T *sPt)
 Get RTC Alarm Date and Time.
void RTC_SetDateAndTime (S_RTC_TIME_DATA_T *sPt)
 Update Current RTC Date and Time.
void RTC_SetAlarmDateAndTime (S_RTC_TIME_DATA_T *sPt)
 Update RTC Alarm Date and Time.
void RTC_SetDate (uint32_t u32Year, uint32_t u32Month, uint32_t u32Day, uint32_t u32DayOfWeek)
 Update RTC Current Date.
void RTC_SetTime (uint32_t u32Hour, uint32_t u32Minute, uint32_t u32Second, uint32_t u32TimeMode, uint32_t u32AmPm)
 Update RTC Current Time.
void RTC_SetAlarmDate (uint32_t u32Year, uint32_t u32Month, uint32_t u32Day)
 Update RTC Alarm Date.
void RTC_SetAlarmTime (uint32_t u32Hour, uint32_t u32Minute, uint32_t u32Second, uint32_t u32TimeMode, uint32_t u32AmPm)
 Update RTC Alarm Time.
uint32_t RTC_GetDayOfWeek (void)
 Get Day of the Week.
void RTC_SetTickPeriod (uint32_t u32TickSelection)
 Set RTC Tick Period Time.
void RTC_EnableInt (uint32_t u32IntFlagMask)
 Enable RTC Interrupt.
void RTC_DisableInt (uint32_t u32IntFlagMask)
 Disable RTC Interrupt.
void RTC_EnableSpareAccess (void)
 Enable Spare Registers Access.
void RTC_DisableSpareRegister (void)
 Disable Spare Register.
void RTC_StaticTamperEnable (uint32_t u32TamperSelect, uint32_t u32DetecLevel, uint32_t u32DebounceEn)
 Static Tamper Detect.
void RTC_StaticTamperDisable (uint32_t u32TamperSelect)
 Static Tamper Disable.
void RTC_DynamicTamperEnable (uint32_t u32PairSel, uint32_t u32DebounceEn, uint32_t u32Pair1Source, uint32_t u32Pair2Source)
 Dynamic Tamper Detect.
void RTC_DynamicTamperDisable (uint32_t u32PairSel)
 Dynamic Tamper Disable.
void RTC_DynamicTamperConfig (uint32_t u32ChangeRate, uint32_t u32SeedReload, uint32_t u32RefPattern, uint32_t u32Seed)
 Config dynamic tamper.
void RTC_SetAlarmDateMask (uint8_t u8IsTenYMsk, uint8_t u8IsYMsk, uint8_t u8IsTenMMsk, uint8_t u8IsMMsk, uint8_t u8IsTenDMsk, uint8_t u8IsDMsk)
 Set RTC Alarm Date Mask Function.
void RTC_SetAlarmTimeMask (uint8_t u8IsTenHMsk, uint8_t u8IsHMsk, uint8_t u8IsTenMMsk, uint8_t u8IsMMsk, uint8_t u8IsTenSMsk, uint8_t u8IsSMsk)
 Set RTC Alarm Time Mask Function.

Function Documentation

void RTC_32KCalibration ( int32_t  i32FrequencyX10000 )

Set Frequency Compensation Data.

Parameters:
[in]i32FrequencyX10000Specify the RTC clock X10000, ex: 327736512 means 32773.6512.
Returns:
None

Definition at line 127 of file m480_rtc.c.

void RTC_Close ( void   )

Disable RTC Clock.

Parameters:
None
Returns:
None

This API will disable RTC peripheral clock and stops RTC counting.

Definition at line 114 of file m480_rtc.c.

void RTC_DisableInt ( uint32_t  u32IntFlagMask )

Disable RTC Interrupt.

Parameters:
[in]u32IntFlagMaskSpecify the interrupt source. It consists of:

  • RTC_INTEN_ALMIEN_Msk : Alarm interrupt
  • RTC_INTEN_TICKIEN_Msk : Tick interrupt
  • RTC_INTEN_TAMP0IEN_Msk : Tamper 0 Pin Event Detection interrupt
  • RTC_INTEN_TAMP1IEN_Msk : Tamper 1 Pin Event Detection interrupt
  • RTC_INTEN_TAMP2IEN_Msk : Tamper 2 Pin Event Detection interrupt
  • RTC_INTEN_TAMP3IEN_Msk : Tamper 3 Pin Event Detection interrupt
  • RTC_INTEN_TAMP4IEN_Msk : Tamper 4 Pin Event Detection interrupt
  • RTC_INTEN_TAMP5IEN_Msk : Tamper 5 Pin Event Detection interrupt
Returns:
None

This API is used to disable the specify RTC interrupt function.

Definition at line 718 of file m480_rtc.c.

void RTC_DisableSpareRegister ( void   )

Disable Spare Register.

Parameters:
None
Returns:
None

This API is used to disable the spare register 0~19 cannot be accessed.

Definition at line 750 of file m480_rtc.c.

void RTC_DynamicTamperConfig ( uint32_t  u32ChangeRate,
uint32_t  u32SeedReload,
uint32_t  u32RefPattern,
uint32_t  u32Seed 
)

Config dynamic tamper.

Parameters:
[in]u32ChangeRateThe dynamic tamper output change rate

  • RTC_2POW10_CLK
  • RTC_2POW11_CLK
  • RTC_2POW12_CLK
  • RTC_2POW13_CLK
  • RTC_2POW14_CLK
  • RTC_2POW15_CLK
  • RTC_2POW16_CLK
  • RTC_2POW17_CLK
[in]u32SeedReloadReload new seed or not 0: not reload new seed 1: reload new seed
[in]u32RefPatternReference pattern

  • REF_RANDOM_PATTERN
  • REF_PREVIOUS_PATTERN
  • REF_SEED
[in]u32SeedSeed Value (0x0 ~ 0xFFFFFFFF)
Returns:
None

This API is used to config dynamic tamper setting.

Definition at line 971 of file m480_rtc.c.

void RTC_DynamicTamperDisable ( uint32_t  u32PairSel )

Dynamic Tamper Disable.

Parameters:
[in]u32PairSelTamper pin detection enable. Possible options are

  • RTC_PAIR0_SELECT
  • RTC_PAIR1_SELECT
  • RTC_PAIR2_SELECT
Returns:
None

This API is used to disable the dynamic tamper.

Definition at line 913 of file m480_rtc.c.

void RTC_DynamicTamperEnable ( uint32_t  u32PairSel,
uint32_t  u32DebounceEn,
uint32_t  u32Pair1Source,
uint32_t  u32Pair2Source 
)

Dynamic Tamper Detect.

Parameters:
[in]u32PairSelTamper pin detection enable. Possible options are

  • RTC_PAIR0_SELECT
  • RTC_PAIR1_SELECT
  • RTC_PAIR2_SELECT
[in]u32DebounceEnTamper pin de-bounce enable

  • RTC_TAMPER_DEBOUNCE_ENABLE
  • RTC_TAMPER_DEBOUNCE_DISABLE
[in]u32Pair1SourceDynamic Pair 1 Input Source Select 0: Pair 1 source select tamper 2 1: Pair 1 source select tamper 0
[in]u32Pair2SourceDynamic Pair 2 Input Source Select 0: Pair 2 source select tamper 4 1: Pair 2 source select tamper 0
Returns:
None

This API is used to enable the dynamic tamper.

Definition at line 858 of file m480_rtc.c.

void RTC_EnableInt ( uint32_t  u32IntFlagMask )

Enable RTC Interrupt.

Parameters:
[in]u32IntFlagMaskSpecify the interrupt source. It consists of:

  • RTC_INTEN_ALMIEN_Msk : Alarm interrupt
  • RTC_INTEN_TICKIEN_Msk : Tick interrupt
  • RTC_INTEN_TAMP0IEN_Msk : Tamper 0 Pin Event Detection interrupt
  • RTC_INTEN_TAMP1IEN_Msk : Tamper 1 Pin Event Detection interrupt
  • RTC_INTEN_TAMP2IEN_Msk : Tamper 2 Pin Event Detection interrupt
  • RTC_INTEN_TAMP3IEN_Msk : Tamper 3 Pin Event Detection interrupt
  • RTC_INTEN_TAMP4IEN_Msk : Tamper 4 Pin Event Detection interrupt
  • RTC_INTEN_TAMP5IEN_Msk : Tamper 5 Pin Event Detection interrupt
Returns:
None

This API is used to enable the specify RTC interrupt function.

Definition at line 695 of file m480_rtc.c.

void RTC_EnableSpareAccess ( void   )

Enable Spare Registers Access.

Parameters:
None
Returns:
None

This API is used to enable the spare registers 0~19 can be accessed.

Definition at line 735 of file m480_rtc.c.

void RTC_GetAlarmDateAndTime ( S_RTC_TIME_DATA_T sPt )

Get RTC Alarm Date and Time.

Parameters:
[out]sPtThe returned pointer is specified the RTC alarm value. It includes:
u32Year: Year value
u32Month: Month value
u32Day: Day value
u32DayOfWeek: Day of week
u32Hour: Hour value
u32Minute: Minute value
u32Second: Second value
u32TimeScale: [RTC_CLOCK_12 / RTC_CLOCK_24]
u8AmPm: [RTC_AM / RTC_PM]
Returns:
None

This API is used to get the RTC alarm date and time setting.

Definition at line 239 of file m480_rtc.c.

void RTC_GetDateAndTime ( S_RTC_TIME_DATA_T sPt )

Get Current RTC Date and Time.

Parameters:
[out]sPtThe returned pointer is specified the current RTC value. It includes:
u32Year: Year value
u32Month: Month value
u32Day: Day value
u32DayOfWeek: Day of week
u32Hour: Hour value
u32Minute: Minute value
u32Second: Second value
u32TimeScale: [RTC_CLOCK_12 / RTC_CLOCK_24]
u8AmPm: [RTC_AM / RTC_PM]
Returns:
None

This API is used to get the current RTC date and time value.

Definition at line 159 of file m480_rtc.c.

uint32_t RTC_GetDayOfWeek ( void   )

Get Day of the Week.

Parameters:
None
Return values:
0Sunday
1Monday
2Tuesday
3Wednesday
4Thursday
5Friday
6Saturday

This API is used to get day of the week of current RTC date.

Definition at line 649 of file m480_rtc.c.

void RTC_Open ( S_RTC_TIME_DATA_T sPt )

Initialize RTC module and start counting.

Parameters:
[in]sPtSpecify the time property and current date and time. It includes:
u32Year: Year value, range between 2000 ~ 2099.
u32Month: Month value, range between 1 ~ 12.
u32Day: Day value, range between 1 ~ 31.
u32DayOfWeek: Day of the week. [RTC_SUNDAY / RTC_MONDAY / RTC_TUESDAY / RTC_WEDNESDAY / RTC_THURSDAY / RTC_FRIDAY / RTC_SATURDAY]
u32Hour: Hour value, range between 0 ~ 23.
u32Minute: Minute value, range between 0 ~ 59.
u32Second: Second value, range between 0 ~ 59.
u32TimeScale: [RTC_CLOCK_12 / RTC_CLOCK_24]
u8AmPm: [RTC_AM / RTC_PM]
Returns:
None

This function is used to:
1. Write initial key to let RTC start count.
2. Input parameter indicates start date/time.
3. User has to make sure that parameters of RTC date/time are reasonable.

Note:
Null pointer for using default starting date/time.

Definition at line 87 of file m480_rtc.c.

void RTC_SetAlarmDate ( uint32_t  u32Year,
uint32_t  u32Month,
uint32_t  u32Day 
)

Update RTC Alarm Date.

Parameters:
[in]u32YearThe year calendar digit of RTC alarm setting.
[in]u32MonthThe month calendar digit of RTC alarm setting.
[in]u32DayThe day calendar digit of RTC alarm setting.
Returns:
None

This API is used to update alarm date setting to RTC.

Definition at line 526 of file m480_rtc.c.

void RTC_SetAlarmDateAndTime ( S_RTC_TIME_DATA_T sPt )

Update RTC Alarm Date and Time.

Parameters:
[in]sPtSpecify the time property and alarm date and time. It includes:
u32Year: Year value, range between 2000 ~ 2099.
u32Month: Month value, range between 1 ~ 12.
u32Day: Day value, range between 1 ~ 31.
u32DayOfWeek: Day of the week. [RTC_SUNDAY / RTC_MONDAY / RTC_TUESDAY / RTC_WEDNESDAY / RTC_THURSDAY / RTC_FRIDAY / RTC_SATURDAY]
u32Hour: Hour value, range between 0 ~ 23.
u32Minute: Minute value, range between 0 ~ 59.
u32Second: Second value, range between 0 ~ 59.
u32TimeScale: [RTC_CLOCK_12 / RTC_CLOCK_24]
u8AmPm: [RTC_AM / RTC_PM]
Returns:
None

This API is used to update alarm date and time setting to RTC.

Definition at line 395 of file m480_rtc.c.

void RTC_SetAlarmDateMask ( uint8_t  u8IsTenYMsk,
uint8_t  u8IsYMsk,
uint8_t  u8IsTenMMsk,
uint8_t  u8IsMMsk,
uint8_t  u8IsTenDMsk,
uint8_t  u8IsDMsk 
)

Set RTC Alarm Date Mask Function.

Parameters:
[in]u8IsTenYMsk1: enable 10-Year digit alarm mask; 0: disabled.
[in]u8IsYMsk1: enable 1-Year digit alarm mask; 0: disabled.
[in]u8IsTenMMsk1: enable 10-Mon digit alarm mask; 0: disabled.
[in]u8IsMMsk1: enable 1-Mon digit alarm mask; 0: disabled.
[in]u8IsTenDMsk1: enable 10-Day digit alarm mask; 0: disabled.
[in]u8IsDMsk1: enable 1-Day digit alarm mask; 0: disabled.
Returns:
None

This API is used to enable or disable RTC alarm date mask function.

Definition at line 598 of file m480_rtc.c.

void RTC_SetAlarmTime ( uint32_t  u32Hour,
uint32_t  u32Minute,
uint32_t  u32Second,
uint32_t  u32TimeMode,
uint32_t  u32AmPm 
)

Update RTC Alarm Time.

Parameters:
[in]u32HourThe hour time digit of RTC alarm setting.
[in]u32MinuteThe minute time digit of RTC alarm setting.
[in]u32SecondThe second time digit of RTC alarm setting.
[in]u32TimeModeThe 24-Hour / 12-Hour Time Scale Selection. [RTC_CLOCK_12 / RTC_CLOCK_24]
[in]u32AmPm12-hour time scale with AM and PM indication. Only Time Scale select 12-hour used. [RTC_AM / RTC_PM]
Returns:
None

This API is used to update alarm time setting to RTC.

Definition at line 553 of file m480_rtc.c.

void RTC_SetAlarmTimeMask ( uint8_t  u8IsTenHMsk,
uint8_t  u8IsHMsk,
uint8_t  u8IsTenMMsk,
uint8_t  u8IsMMsk,
uint8_t  u8IsTenSMsk,
uint8_t  u8IsSMsk 
)

Set RTC Alarm Time Mask Function.

Parameters:
[in]u8IsTenHMsk1: enable 10-Hour digit alarm mask; 0: disabled.
[in]u8IsHMsk1: enable 1-Hour digit alarm mask; 0: disabled.
[in]u8IsTenMMsk1: enable 10-Min digit alarm mask; 0: disabled.
[in]u8IsMMsk1: enable 1-Min digit alarm mask; 0: disabled.
[in]u8IsTenSMsk1: enable 10-Sec digit alarm mask; 0: disabled.
[in]u8IsSMsk1: enable 1-Sec digit alarm mask; 0: disabled.
Returns:
None

This API is used to enable or disable RTC alarm time mask function.

Definition at line 623 of file m480_rtc.c.

void RTC_SetDate ( uint32_t  u32Year,
uint32_t  u32Month,
uint32_t  u32Day,
uint32_t  u32DayOfWeek 
)

Update RTC Current Date.

Parameters:
[in]u32YearThe year calendar digit of current RTC setting.
[in]u32MonthThe month calendar digit of current RTC setting.
[in]u32DayThe day calendar digit of current RTC setting.
[in]u32DayOfWeekThe Day of the week. [RTC_SUNDAY / RTC_MONDAY / RTC_TUESDAY / RTC_WEDNESDAY / RTC_THURSDAY / RTC_FRIDAY / RTC_SATURDAY]
Returns:
None

This API is used to update current date to RTC.

Definition at line 455 of file m480_rtc.c.

void RTC_SetDateAndTime ( S_RTC_TIME_DATA_T sPt )

Update Current RTC Date and Time.

Parameters:
[in]sPtSpecify the time property and current date and time. It includes:
u32Year: Year value, range between 2000 ~ 2099.
u32Month: Month value, range between 1 ~ 12.
u32Day: Day value, range between 1 ~ 31.
u32DayOfWeek: Day of the week. [RTC_SUNDAY / RTC_MONDAY / RTC_TUESDAY / RTC_WEDNESDAY / RTC_THURSDAY / RTC_FRIDAY / RTC_SATURDAY]
u32Hour: Hour value, range between 0 ~ 23.
u32Minute: Minute value, range between 0 ~ 59.
u32Second: Second value, range between 0 ~ 59.
u32TimeScale: [RTC_CLOCK_12 / RTC_CLOCK_24]
u8AmPm: [RTC_AM / RTC_PM]
Returns:
None

This API is used to update current date and time to RTC.

Definition at line 323 of file m480_rtc.c.

void RTC_SetTickPeriod ( uint32_t  u32TickSelection )

Set RTC Tick Period Time.

Parameters:
[in]u32TickSelectionIt is used to set the RTC tick period time for Periodic Time Tick request.
It consists of:

  • RTC_TICK_1_SEC : Time tick is 1 second
  • RTC_TICK_1_2_SEC : Time tick is 1/2 second
  • RTC_TICK_1_4_SEC : Time tick is 1/4 second
  • RTC_TICK_1_8_SEC : Time tick is 1/8 second
  • RTC_TICK_1_16_SEC : Time tick is 1/16 second
  • RTC_TICK_1_32_SEC : Time tick is 1/32 second
  • RTC_TICK_1_64_SEC : Time tick is 1/64 second
  • RTC_TICK_1_128_SEC : Time tick is 1/128 second
Returns:
None

This API is used to set RTC tick period time for each tick interrupt.

Definition at line 672 of file m480_rtc.c.

void RTC_SetTime ( uint32_t  u32Hour,
uint32_t  u32Minute,
uint32_t  u32Second,
uint32_t  u32TimeMode,
uint32_t  u32AmPm 
)

Update RTC Current Time.

Parameters:
[in]u32HourThe hour time digit of current RTC setting.
[in]u32MinuteThe minute time digit of current RTC setting.
[in]u32SecondThe second time digit of current RTC setting.
[in]u32TimeModeThe 24-Hour / 12-Hour Time Scale Selection. [RTC_CLOCK_12 / RTC_CLOCK_24]
[in]u32AmPm12-hour time scale with AM and PM indication. Only Time Scale select 12-hour used. [RTC_AM / RTC_PM]
Returns:
None

This API is used to update current time to RTC.

Definition at line 485 of file m480_rtc.c.

void RTC_StaticTamperDisable ( uint32_t  u32TamperSelect )

Static Tamper Disable.

Parameters:
[in]u32TamperSelectTamper pin select. Possible options are

  • RTC_TAMPER5_SELECT
  • RTC_TAMPER4_SELECT
  • RTC_TAMPER3_SELECT
  • RTC_TAMPER2_SELECT
  • RTC_TAMPER1_SELECT
  • RTC_TAMPER0_SELECT
Returns:
None

This API is used to disable the static tamper pin detect.

Definition at line 815 of file m480_rtc.c.

void RTC_StaticTamperEnable ( uint32_t  u32TamperSelect,
uint32_t  u32DetecLevel,
uint32_t  u32DebounceEn 
)

Static Tamper Detect.

Parameters:
[in]u32TamperSelectTamper pin select. Possible options are

  • RTC_TAMPER5_SELECT
  • RTC_TAMPER4_SELECT
  • RTC_TAMPER3_SELECT
  • RTC_TAMPER2_SELECT
  • RTC_TAMPER1_SELECT
  • RTC_TAMPER0_SELECT
[in]u32DetecLevelTamper pin detection level select. Possible options are

  • RTC_TAMPER_HIGH_LEVEL_DETECT
  • RTC_TAMPER_LOW_LEVEL_DETECT
[in]u32DebounceEnTamper pin de-bounce enable

  • RTC_TAMPER_DEBOUNCE_ENABLE
  • RTC_TAMPER_DEBOUNCE_DISABLE
Returns:
None

This API is used to enable the tamper pin detect function with specify trigger condition.

Definition at line 779 of file m480_rtc.c.

__STATIC_INLINE void RTC_WaitAccessEnable ( void   )

Wait RTC Access Enable.

Parameters:
None
Returns:
None

This function is used to enable the maximum RTC read/write accessible time.

Definition at line 307 of file m480_rtc.h.