![]() |
M471M/R1/S BSP V3.01.000
The Board Support Package for M4521
|
Macros | |
#define | RTC_IS_LEAP_YEAR() (RTC->LEAPYEAR & RTC_LEAPYEAR_LEAPYEAR_Msk ? 1:0) |
Indicate is Leap Year or not. More... | |
#define | RTC_CLEAR_ALARM_INT_FLAG() (RTC->INTSTS = (RTC->INTSTS & ~(RTC_INTSTS_TICKIF_Msk | RTC_INTSTS_SNPDIF_Msk)) | RTC_INTSTS_ALMIF_Msk) |
Clear RTC Alarm Interrupt Flag. More... | |
#define | RTC_CLEAR_TICK_INT_FLAG() (RTC->INTSTS = (RTC->INTSTS & ~(RTC_INTSTS_ALMIF_Msk | RTC_INTSTS_SNPDIF_Msk)) | RTC_INTSTS_TICKIF_Msk) |
Clear RTC Tick Interrupt Flag. More... | |
#define | RTC_CLEAR_SNOOPER_INT_FLAG() (RTC->INTSTS = (RTC->INTSTS & ~(RTC_INTSTS_ALMIF_Msk | RTC_INTSTS_TICKIF_Msk)) | RTC_INTSTS_SNPDIF_Msk) |
Clear RTC Snooper Interrupt Flag. More... | |
#define | RTC_GET_ALARM_INT_FLAG() ((RTC->INTSTS & RTC_INTSTS_ALMIF_Msk)? 1:0) |
Get RTC Alarm Interrupt Flag. More... | |
#define | RTC_GET_TICK_INT_FLAG() ((RTC->INTSTS & RTC_INTSTS_TICKIF_Msk)? 1:0) |
Get RTC Time Tick Interrupt Flag. More... | |
#define | RTC_GET_SNPPOER_INT_FLAG() ((RTC->INTSTS & RTC_INTSTS_SNPDIF_Msk)? 1:0) |
Get RTC Snooper Interrupt Flag. More... | |
#define | RTC_READ_SPARE_REGISTER(u32RegNum) (RTC->SPR[(u32RegNum)]) |
Read Spare Register. More... | |
#define | RTC_WRITE_SPARE_REGISTER(u32RegNum, u32RegValue) (RTC->SPR[(u32RegNum)] = (u32RegValue)) |
Write Spare Register. More... | |
Functions | |
static __INLINE int32_t | RTC_WaitAccessEnable (void) |
Wait RTC Access Enable. More... | |
int32_t | RTC_Open (S_RTC_TIME_DATA_T *sPt) |
Initialize RTC module and start counting. More... | |
void | RTC_Close (void) |
Disable RTC Clock. More... | |
void | RTC_32KCalibration (int32_t i32FrequencyX100) |
Set 32k Frequency Compensation Data. More... | |
void | RTC_GetDateAndTime (S_RTC_TIME_DATA_T *sPt) |
Get Current RTC Date and Time. More... | |
void | RTC_GetAlarmDateAndTime (S_RTC_TIME_DATA_T *sPt) |
Get RTC Alarm Date and Time. More... | |
void | RTC_SetDateAndTime (S_RTC_TIME_DATA_T *sPt) |
Update Current RTC Date and Time. More... | |
void | RTC_SetAlarmDateAndTime (S_RTC_TIME_DATA_T *sPt) |
Update RTC Alarm Date and Time. More... | |
void | RTC_SetDate (uint32_t u32Year, uint32_t u32Month, uint32_t u32Day, uint32_t u32DayOfWeek) |
Update RTC Current Date. More... | |
void | RTC_SetTime (uint32_t u32Hour, uint32_t u32Minute, uint32_t u32Second, uint32_t u32TimeMode, uint32_t u32AmPm) |
Update RTC Current Time. More... | |
void | RTC_SetAlarmDate (uint32_t u32Year, uint32_t u32Month, uint32_t u32Day) |
Update RTC Alarm Date. More... | |
void | RTC_SetAlarmTime (uint32_t u32Hour, uint32_t u32Minute, uint32_t u32Second, uint32_t u32TimeMode, uint32_t u32AmPm) |
Update RTC Alarm Time. More... | |
uint32_t | RTC_GetDayOfWeek (void) |
Get Day of the Week. More... | |
void | RTC_SetTickPeriod (uint32_t u32TickSelection) |
Set RTC Tick Period Time. More... | |
void | RTC_EnableInt (uint32_t u32IntFlagMask) |
Enable RTC Interrupt. More... | |
void | RTC_DisableInt (uint32_t u32IntFlagMask) |
Disable RTC Interrupt. More... | |
void | RTC_EnableSpareAccess (void) |
Enable Spare Registers Access. More... | |
void | RTC_DisableSpareRegister (void) |
Disable Spare Register. More... | |
void | RTC_EnableSnooperDetection (uint32_t u32PinCondition) |
Enable Snooper Pin Detect. More... | |
void | RTC_DisableSnooperDetection (void) |
Disable Snooper Pin Detect. More... | |
Variables | |
uint32_t | S_RTC_TIME_DATA_T::u32Year |
uint32_t | S_RTC_TIME_DATA_T::u32Month |
uint32_t | S_RTC_TIME_DATA_T::u32Day |
uint32_t | S_RTC_TIME_DATA_T::u32DayOfWeek |
uint32_t | S_RTC_TIME_DATA_T::u32Hour |
uint32_t | S_RTC_TIME_DATA_T::u32Minute |
uint32_t | S_RTC_TIME_DATA_T::u32Second |
uint32_t | S_RTC_TIME_DATA_T::u32TimeScale |
uint32_t | S_RTC_TIME_DATA_T::u32AmPm |
#define RTC_CLEAR_ALARM_INT_FLAG | ( | ) | (RTC->INTSTS = (RTC->INTSTS & ~(RTC_INTSTS_TICKIF_Msk | RTC_INTSTS_SNPDIF_Msk)) | RTC_INTSTS_ALMIF_Msk) |
#define RTC_CLEAR_SNOOPER_INT_FLAG | ( | ) | (RTC->INTSTS = (RTC->INTSTS & ~(RTC_INTSTS_ALMIF_Msk | RTC_INTSTS_TICKIF_Msk)) | RTC_INTSTS_SNPDIF_Msk) |
#define RTC_CLEAR_TICK_INT_FLAG | ( | ) | (RTC->INTSTS = (RTC->INTSTS & ~(RTC_INTSTS_ALMIF_Msk | RTC_INTSTS_SNPDIF_Msk)) | RTC_INTSTS_TICKIF_Msk) |
#define RTC_GET_ALARM_INT_FLAG | ( | ) | ((RTC->INTSTS & RTC_INTSTS_ALMIF_Msk)? 1:0) |
#define RTC_GET_SNPPOER_INT_FLAG | ( | ) | ((RTC->INTSTS & RTC_INTSTS_SNPDIF_Msk)? 1:0) |
#define RTC_GET_TICK_INT_FLAG | ( | ) | ((RTC->INTSTS & RTC_INTSTS_TICKIF_Msk)? 1:0) |
#define RTC_IS_LEAP_YEAR | ( | ) | (RTC->LEAPYEAR & RTC_LEAPYEAR_LEAPYEAR_Msk ? 1:0) |
#define RTC_READ_SPARE_REGISTER | ( | u32RegNum | ) | (RTC->SPR[(u32RegNum)]) |
Read Spare Register.
[in] | u32RegNum | The spare register number, 0~19. |
Read the specify spare register content.
#define RTC_WRITE_SPARE_REGISTER | ( | u32RegNum, | |
u32RegValue | |||
) | (RTC->SPR[(u32RegNum)] = (u32RegValue)) |
Write Spare Register.
[in] | u32RegNum | The spare register number, 0~19. |
[in] | u32RegValue | The spare register value. |
Write specify data to spare register.
void RTC_32KCalibration | ( | int32_t | i32FrequencyX100 | ) |
Set 32k Frequency Compensation Data.
[in] | i32FrequencyX100 | Specify the RTC clock X100, ex: 3277365 means 32773.65. |
This API is used to compensate the 32 kHz frequency by current LXT frequency for RTC application.
Definition at line 121 of file rtc.c.
void RTC_Close | ( | void | ) |
void RTC_DisableInt | ( | uint32_t | u32IntFlagMask | ) |
Disable RTC Interrupt.
[in] | u32IntFlagMask | Specify the interrupt source. It consists of: RTC_INTEN_ALMIEN_Msk: Alarm interrupt RTC_INTEN_TICKIEN_Msk: Tick interrupt RTC_INTEN_SNPDIEN_Msk: Snooper Pin Event Detection interrupt |
This API is used to disable the specify RTC interrupt function.
void RTC_DisableSnooperDetection | ( | void | ) |
void RTC_DisableSpareRegister | ( | void | ) |
void RTC_EnableInt | ( | uint32_t | u32IntFlagMask | ) |
Enable RTC Interrupt.
[in] | u32IntFlagMask | Specify the interrupt source. It consists of: RTC_INTEN_ALMIEN_Msk: Alarm interrupt RTC_INTEN_TICKIEN_Msk: Tick interrupt RTC_INTEN_SNPDIEN_Msk: Snooper Pin Event Detection interrupt |
This API is used to enable the specify RTC interrupt function.
void RTC_EnableSnooperDetection | ( | uint32_t | u32PinCondition | ) |
void RTC_EnableSpareAccess | ( | void | ) |
void RTC_GetAlarmDateAndTime | ( | S_RTC_TIME_DATA_T * | sPt | ) |
Get RTC Alarm Date and Time.
[out] | sPt | The 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] |
This API is used to get the RTC alarm date and time setting.
Definition at line 252 of file rtc.c.
void RTC_GetDateAndTime | ( | S_RTC_TIME_DATA_T * | sPt | ) |
Get Current RTC Date and Time.
[out] | sPt | The 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] |
This API is used to get the current RTC date and time value.
uint32_t RTC_GetDayOfWeek | ( | void | ) |
int32_t RTC_Open | ( | S_RTC_TIME_DATA_T * | sPt | ) |
Initialize RTC module and start counting.
[in] | sPt | Specify 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] |
0 | SUCCESS |
-1 | Initialize RTC module fail |
This function is used to:
Definition at line 66 of file rtc.c.
void RTC_SetAlarmDate | ( | uint32_t | u32Year, |
uint32_t | u32Month, | ||
uint32_t | u32Day | ||
) |
Update RTC Alarm Date.
[in] | u32Year | The year calendar digit of RTC alarm setting. |
[in] | u32Month | The month calendar digit of RTC alarm setting. |
[in] | u32Day | The day calendar digit of RTC alarm setting. |
This API is used to update alarm date setting to RTC.
Definition at line 566 of file rtc.c.
void RTC_SetAlarmDateAndTime | ( | S_RTC_TIME_DATA_T * | sPt | ) |
Update RTC Alarm Date and Time.
[in] | sPt | Specify 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] |
This API is used to update alarm date and time setting to RTC.
Definition at line 426 of file rtc.c.
void RTC_SetAlarmTime | ( | uint32_t | u32Hour, |
uint32_t | u32Minute, | ||
uint32_t | u32Second, | ||
uint32_t | u32TimeMode, | ||
uint32_t | u32AmPm | ||
) |
Update RTC Alarm Time.
[in] | u32Hour | The hour time digit of RTC alarm setting. |
[in] | u32Minute | The minute time digit of RTC alarm setting. |
[in] | u32Second | The second time digit of RTC alarm setting. |
[in] | u32TimeMode | The 24-Hour / 12-Hour Time Scale Selection. [RTC_CLOCK_12 / RTC_CLOCK_24] |
[in] | u32AmPm | 12-hour time scale with AM and PM indication. Only Time Scale select 12-hour used. [RTC_AM / RTC_PM] |
This API is used to update alarm time setting to RTC.
Definition at line 596 of file rtc.c.
void RTC_SetDate | ( | uint32_t | u32Year, |
uint32_t | u32Month, | ||
uint32_t | u32Day, | ||
uint32_t | u32DayOfWeek | ||
) |
Update RTC Current Date.
[in] | u32Year | The year calendar digit of current RTC setting. |
[in] | u32Month | The month calendar digit of current RTC setting. |
[in] | u32Day | The day calendar digit of current RTC setting. |
[in] | u32DayOfWeek | The Day of the week. [RTC_SUNDAY / RTC_MONDAY / RTC_TUESDAY / RTC_WEDNESDAY / RTC_THURSDAY / RTC_FRIDAY / RTC_SATURDAY] |
This API is used to update current date to RTC.
Definition at line 491 of file rtc.c.
void RTC_SetDateAndTime | ( | S_RTC_TIME_DATA_T * | sPt | ) |
Update Current RTC Date and Time.
[in] | sPt | Specify 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] |
This API is used to update current date and time to RTC.
Definition at line 352 of file rtc.c.
void RTC_SetTickPeriod | ( | uint32_t | u32TickSelection | ) |
Set RTC Tick Period Time.
[in] | u32TickSelection | It 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 |
This API is used to set RTC tick period time for each tick interrupt.
Definition at line 666 of file rtc.c.
void RTC_SetTime | ( | uint32_t | u32Hour, |
uint32_t | u32Minute, | ||
uint32_t | u32Second, | ||
uint32_t | u32TimeMode, | ||
uint32_t | u32AmPm | ||
) |
Update RTC Current Time.
[in] | u32Hour | The hour time digit of current RTC setting. |
[in] | u32Minute | The minute time digit of current RTC setting. |
[in] | u32Second | The second time digit of current RTC setting. |
[in] | u32TimeMode | The 24-Hour / 12-Hour Time Scale Selection. [RTC_CLOCK_12 / RTC_CLOCK_24] |
[in] | u32AmPm | 12-hour time scale with AM and PM indication. Only Time Scale select 12-hour used. [RTC_AM / RTC_PM] |
This API is used to update current time to RTC.
Definition at line 524 of file rtc.c.
|
static |
uint32_t S_RTC_TIME_DATA_T::u32AmPm |