![]() |
Kinetis SDK v.2.0 API Reference Manual
Rev. 0
Freescale Semiconductor, Inc.
|
The KSDK provides a driver for the RTC module of Kinetis devices.
Files | |
| file | fsl_rtc.h |
Data Structures | |
| struct | rtc_datetime_t |
| Structure is used to hold the date and time. More... | |
| struct | rtc_config_t |
| RTC config structure. More... | |
Enumerations | |
| enum | rtc_interrupt_enable_t { kRTC_TimeInvalidInterruptEnable = RTC_IER_TIIE_MASK, kRTC_TimeOverflowInterruptEnable = RTC_IER_TOIE_MASK, kRTC_AlarmInterruptEnable = RTC_IER_TAIE_MASK, kRTC_SecondsInterruptEnable = RTC_IER_TSIE_MASK } |
| List of RTC interrupts. More... | |
| enum | rtc_status_flags_t { kRTC_TimeInvalidFlag = RTC_SR_TIF_MASK, kRTC_TimeOverflowFlag = RTC_SR_TOF_MASK, kRTC_AlarmFlag = RTC_SR_TAF_MASK } |
| List of RTC flags. More... | |
| enum | rtc_osc_cap_load_t { kRTC_Capacitor_2p = RTC_CR_SC2P_MASK, kRTC_Capacitor_4p = RTC_CR_SC4P_MASK, kRTC_Capacitor_8p = RTC_CR_SC8P_MASK, kRTC_Capacitor_16p = RTC_CR_SC16P_MASK } |
| List of RTC Oscillator capacitor load settings. More... | |
Functions | |
| static void | RTC_SetOscCapLoad (RTC_Type *base, uint32_t capLoad) |
| This function sets the specified capacitor configuration for the RTC oscillator. More... | |
| static void | RTC_Reset (RTC_Type *base) |
| Performs a software reset on the RTC module. More... | |
Driver version | |
| #define | FSL_RTC_DRIVER_VERSION (MAKE_VERSION(2, 0, 0)) |
| Version 2.0.0. | |
Initialization and deinitialization | |
| void | RTC_Init (RTC_Type *base, const rtc_config_t *config) |
| Ungates the RTC clock and configures the peripheral for basic operation. More... | |
| static void | RTC_Deinit (RTC_Type *base) |
| Stop the timer and gate the RTC clock. More... | |
| void | RTC_GetDefaultConfig (rtc_config_t *config) |
| Fill in the RTC config struct with the default settings. More... | |
Current Time & Alarm | |
| status_t | RTC_SetDatetime (RTC_Type *base, const rtc_datetime_t *datetime) |
| Sets the RTC date and time according to the given time structure. More... | |
| void | RTC_GetDatetime (RTC_Type *base, rtc_datetime_t *datetime) |
| Gets the RTC time and stores it in the given time structure. More... | |
| status_t | RTC_SetAlarm (RTC_Type *base, const rtc_datetime_t *alarmTime) |
| Sets the RTC alarm time. More... | |
| void | RTC_GetAlarm (RTC_Type *base, rtc_datetime_t *datetime) |
| Returns the RTC alarm time. More... | |
Interrupt Interface | |
| static void | RTC_EnableInterrupts (RTC_Type *base, uint32_t mask) |
| Enables the selected RTC interrupts. More... | |
| static void | RTC_DisableInterrupts (RTC_Type *base, uint32_t mask) |
| Disables the selected RTC interrupts. More... | |
| static uint32_t | RTC_GetEnabledInterrupts (RTC_Type *base) |
| Gets the enabled RTC interrupts. More... | |
Status Interface | |
| static uint32_t | RTC_GetStatusFlags (RTC_Type *base) |
| Gets the RTC status flags. More... | |
| void | RTC_ClearStatusFlags (RTC_Type *base, uint32_t mask) |
| Clears the RTC status flags. More... | |
Timer Start and Stop | |
| static void | RTC_StartTimer (RTC_Type *base) |
| Starts the RTC time counter. More... | |
| static void | RTC_StopTimer (RTC_Type *base) |
| Stops the RTC time counter. More... | |
| struct rtc_datetime_t |
Data Fields | |
| uint16_t | year |
| Range from 1970 to 2099. More... | |
| uint8_t | month |
| Range from 1 to 12. More... | |
| uint8_t | day |
| Range from 1 to 31 (depending on month). More... | |
| uint8_t | hour |
| Range from 0 to 23. More... | |
| uint8_t | minute |
| Range from 0 to 59. More... | |
| uint8_t | second |
| Range from 0 to 59. More... | |
| uint16_t rtc_datetime_t::year |
| uint8_t rtc_datetime_t::month |
| uint8_t rtc_datetime_t::day |
| uint8_t rtc_datetime_t::hour |
| uint8_t rtc_datetime_t::minute |
| uint8_t rtc_datetime_t::second |
| struct rtc_config_t |
This structure holds the configuration settings for the RTC peripheral. To initialize this structure to reasonable defaults, call the RTC_GetDefaultConfig() function and pass a pointer to your config structure instance.
The config struct can be made const so it resides in flash
Data Fields | |
| bool | wakeupSelect |
| true: Wakeup pin outputs the 32KHz clock; false:Wakeup pin used to wakeup the chip | |
| bool | updateMode |
| true: Registers can be written even when locked under certain conditions, false: No writes allowed when registers are locked | |
| bool | supervisorAccess |
| true: Non-supervisor accesses are allowed; false: Non-supervisor accesses are not supported | |
| uint32_t | compensationInterval |
| Compensation interval that is written to the CIR field in RTC TCR Register. | |
| uint32_t | compensationTime |
| Compensation time that is written to the TCR field in RTC TCR Register. | |
| enum rtc_status_flags_t |
| enum rtc_osc_cap_load_t |
| void RTC_Init | ( | RTC_Type * | base, |
| const rtc_config_t * | config | ||
| ) |
This function will issue a software reset if the timer invalid flag is set.
| base | RTC peripheral base address |
| config | Pointer to user's RTC config structure. |
|
inlinestatic |
| base | RTC peripheral base address |
| void RTC_GetDefaultConfig | ( | rtc_config_t * | config | ) |
The default values are:
| config | Pointer to user's RTC config structure. |
| status_t RTC_SetDatetime | ( | RTC_Type * | base, |
| const rtc_datetime_t * | datetime | ||
| ) |
The RTC counter must be stopped prior to calling this function as writes to the RTC seconds register will fail if the RTC counter is running.
| base | RTC peripheral base address |
| datetime | Pointer to structure where the date and time details to set are stored |
| void RTC_GetDatetime | ( | RTC_Type * | base, |
| rtc_datetime_t * | datetime | ||
| ) |
| base | RTC peripheral base address |
| datetime | Pointer to structure where the date and time details are stored. |
| status_t RTC_SetAlarm | ( | RTC_Type * | base, |
| const rtc_datetime_t * | alarmTime | ||
| ) |
The function checks whether the specified alarm time is greater than the present time. If not, the function does not set the alarm and returns an error.
| base | RTC peripheral base address |
| alarmTime | Pointer to structure where the alarm time is stored. |
| void RTC_GetAlarm | ( | RTC_Type * | base, |
| rtc_datetime_t * | datetime | ||
| ) |
| base | RTC peripheral base address |
| datetime | Pointer to structure where the alarm date and time details are stored. |
|
inlinestatic |
| base | RTC peripheral base address |
| mask | The interrupts to enable. This is a logical OR of members of the enumeration rtc_interrupt_enable_t |
|
inlinestatic |
| base | RTC peripheral base address |
| mask | The interrupts to enable. This is a logical OR of members of the enumeration rtc_interrupt_enable_t |
|
inlinestatic |
| base | RTC peripheral base address |
|
inlinestatic |
| base | RTC peripheral base address |
| void RTC_ClearStatusFlags | ( | RTC_Type * | base, |
| uint32_t | mask | ||
| ) |
| base | RTC peripheral base address |
| mask | The status flags to clear. This is a logical OR of members of the enumeration rtc_status_flags_t |
|
inlinestatic |
After calling this function, the timer counter increments once a second provided SR[TOF] or SR[TIF] are not set.
| base | RTC peripheral base address |
|
inlinestatic |
RTC's seconds register can be written to only when the timer is stopped.
| base | RTC peripheral base address |
|
inlinestatic |
| base | RTC peripheral base address |
| capLoad | Oscillator loads to enable. This is a logical OR of members of the enumeration rtc_osc_cap_load_t |
|
inlinestatic |
This resets all RTC registers except for the SWR bit and the RTC_WAR and RTC_RAR registers. The SWR bit is cleared by software explicitly clearing it.
| base | RTC peripheral base address |