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 |