CARME-M4 BSP  V1.5

RTC driver modules. More...

+ Collaboration diagram for RTC:

Modules

 RTC_Exported_Constants
 
 RTC_Private_Functions
 

Data Structures

struct  RTC_InitTypeDef
 RTC Init structures definition. More...
 
struct  RTC_TimeTypeDef
 RTC Time structure definition. More...
 
struct  RTC_DateTypeDef
 RTC Date structure definition. More...
 
struct  RTC_AlarmTypeDef
 RTC Alarm structure definition. More...
 

Macros

#define RTC_TR_RESERVED_MASK   ((uint32_t)0x007F7F7F)
 
#define RTC_DR_RESERVED_MASK   ((uint32_t)0x00FFFF3F)
 
#define RTC_INIT_MASK   ((uint32_t)0xFFFFFFFF)
 
#define RTC_RSF_MASK   ((uint32_t)0xFFFFFF5F)
 
#define RTC_FLAGS_MASK
 
#define INITMODE_TIMEOUT   ((uint32_t) 0x00010000)
 
#define SYNCHRO_TIMEOUT   ((uint32_t) 0x00020000)
 
#define RECALPF_TIMEOUT   ((uint32_t) 0x00020000)
 
#define SHPF_TIMEOUT   ((uint32_t) 0x00001000)
 

Functions

ErrorStatus RTC_DeInit (void)
 Deinitializes the RTC registers to their default reset values. More...
 
ErrorStatus RTC_Init (RTC_InitTypeDef *RTC_InitStruct)
 Initializes the RTC registers according to the specified parameters in RTC_InitStruct. More...
 
void RTC_StructInit (RTC_InitTypeDef *RTC_InitStruct)
 Fills each RTC_InitStruct member with its default value. More...
 
void RTC_WriteProtectionCmd (FunctionalState NewState)
 Enables or disables the RTC registers write protection. More...
 
ErrorStatus RTC_EnterInitMode (void)
 Enters the RTC Initialization mode. More...
 
void RTC_ExitInitMode (void)
 Exits the RTC Initialization mode. More...
 
ErrorStatus RTC_WaitForSynchro (void)
 Waits until the RTC Time and Date registers (RTC_TR and RTC_DR) are synchronized with RTC APB clock. More...
 
ErrorStatus RTC_RefClockCmd (FunctionalState NewState)
 Enables or disables the RTC reference clock detection. More...
 
void RTC_BypassShadowCmd (FunctionalState NewState)
 Enables or Disables the Bypass Shadow feature. More...
 
ErrorStatus RTC_SetTime (uint32_t RTC_Format, RTC_TimeTypeDef *RTC_TimeStruct)
 Set the RTC current time. More...
 
void RTC_TimeStructInit (RTC_TimeTypeDef *RTC_TimeStruct)
 Fills each RTC_TimeStruct member with its default value (Time = 00h:00min:00sec). More...
 
void RTC_GetTime (uint32_t RTC_Format, RTC_TimeTypeDef *RTC_TimeStruct)
 Get the RTC current Time. More...
 
uint32_t RTC_GetSubSecond (void)
 Gets the RTC current Calendar Sub seconds value. More...
 
ErrorStatus RTC_SetDate (uint32_t RTC_Format, RTC_DateTypeDef *RTC_DateStruct)
 Set the RTC current date. More...
 
void RTC_DateStructInit (RTC_DateTypeDef *RTC_DateStruct)
 Fills each RTC_DateStruct member with its default value (Monday, January 01 xx00). More...
 
void RTC_GetDate (uint32_t RTC_Format, RTC_DateTypeDef *RTC_DateStruct)
 Get the RTC current date. More...
 
void RTC_SetAlarm (uint32_t RTC_Format, uint32_t RTC_Alarm, RTC_AlarmTypeDef *RTC_AlarmStruct)
 Set the specified RTC Alarm. More...
 
void RTC_AlarmStructInit (RTC_AlarmTypeDef *RTC_AlarmStruct)
 Fills each RTC_AlarmStruct member with its default value (Time = 00h:00mn:00sec / Date = 1st day of the month/Mask = all fields are masked). More...
 
void RTC_GetAlarm (uint32_t RTC_Format, uint32_t RTC_Alarm, RTC_AlarmTypeDef *RTC_AlarmStruct)
 Get the RTC Alarm value and masks. More...
 
ErrorStatus RTC_AlarmCmd (uint32_t RTC_Alarm, FunctionalState NewState)
 Enables or disables the specified RTC Alarm. More...
 
void RTC_AlarmSubSecondConfig (uint32_t RTC_Alarm, uint32_t RTC_AlarmSubSecondValue, uint32_t RTC_AlarmSubSecondMask)
 Configure the RTC AlarmA/B Sub seconds value and mask.*. More...
 
uint32_t RTC_GetAlarmSubSecond (uint32_t RTC_Alarm)
 Gets the RTC Alarm Sub seconds value. More...
 
void RTC_WakeUpClockConfig (uint32_t RTC_WakeUpClock)
 Configures the RTC Wakeup clock source. More...
 
void RTC_SetWakeUpCounter (uint32_t RTC_WakeUpCounter)
 Configures the RTC Wakeup counter. More...
 
uint32_t RTC_GetWakeUpCounter (void)
 Returns the RTC WakeUp timer counter value. More...
 
ErrorStatus RTC_WakeUpCmd (FunctionalState NewState)
 Enables or Disables the RTC WakeUp timer. More...
 
void RTC_DayLightSavingConfig (uint32_t RTC_DayLightSaving, uint32_t RTC_StoreOperation)
 Adds or substract one hour from the current time. More...
 
uint32_t RTC_GetStoreOperation (void)
 Returns the RTC Day Light Saving stored operation. More...
 
void RTC_OutputConfig (uint32_t RTC_Output, uint32_t RTC_OutputPolarity)
 Configures the RTC output source (AFO_ALARM). More...
 
ErrorStatus RTC_CoarseCalibConfig (uint32_t RTC_CalibSign, uint32_t Value)
 Configures the Coarse calibration parameters. More...
 
ErrorStatus RTC_CoarseCalibCmd (FunctionalState NewState)
 Enables or disables the Coarse calibration process. More...
 
void RTC_CalibOutputCmd (FunctionalState NewState)
 Enables or disables the RTC clock to be output through the relative pin. More...
 
void RTC_CalibOutputConfig (uint32_t RTC_CalibOutput)
 Configure the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz). More...
 
ErrorStatus RTC_SmoothCalibConfig (uint32_t RTC_SmoothCalibPeriod, uint32_t RTC_SmoothCalibPlusPulses, uint32_t RTC_SmouthCalibMinusPulsesValue)
 Configures the Smooth Calibration Settings. More...
 
void RTC_TimeStampCmd (uint32_t RTC_TimeStampEdge, FunctionalState NewState)
 Enables or Disables the RTC TimeStamp functionality with the specified time stamp pin stimulating edge. More...
 
void RTC_GetTimeStamp (uint32_t RTC_Format, RTC_TimeTypeDef *RTC_StampTimeStruct, RTC_DateTypeDef *RTC_StampDateStruct)
 Get the RTC TimeStamp value and masks. More...
 
uint32_t RTC_GetTimeStampSubSecond (void)
 Get the RTC timestamp Sub seconds value. More...
 
void RTC_TamperTriggerConfig (uint32_t RTC_Tamper, uint32_t RTC_TamperTrigger)
 Configures the select Tamper pin edge. More...
 
void RTC_TamperCmd (uint32_t RTC_Tamper, FunctionalState NewState)
 Enables or Disables the Tamper detection. More...
 
void RTC_TamperFilterConfig (uint32_t RTC_TamperFilter)
 Configures the Tampers Filter. More...
 
void RTC_TamperSamplingFreqConfig (uint32_t RTC_TamperSamplingFreq)
 Configures the Tampers Sampling Frequency. More...
 
void RTC_TamperPinsPrechargeDuration (uint32_t RTC_TamperPrechargeDuration)
 Configures the Tampers Pins input Precharge Duration. More...
 
void RTC_TimeStampOnTamperDetectionCmd (FunctionalState NewState)
 Enables or Disables the TimeStamp on Tamper Detection Event. More...
 
void RTC_TamperPullUpCmd (FunctionalState NewState)
 Enables or Disables the Precharge of Tamper pin. More...
 
void RTC_WriteBackupRegister (uint32_t RTC_BKP_DR, uint32_t Data)
 Writes a data in a specified RTC Backup data register. More...
 
uint32_t RTC_ReadBackupRegister (uint32_t RTC_BKP_DR)
 Reads data from the specified RTC Backup data Register. More...
 
void RTC_TamperPinSelection (uint32_t RTC_TamperPin)
 Selects the RTC Tamper Pin. More...
 
void RTC_TimeStampPinSelection (uint32_t RTC_TimeStampPin)
 Selects the RTC TimeStamp Pin. More...
 
void RTC_OutputTypeConfig (uint32_t RTC_OutputType)
 Configures the RTC Output Pin mode. More...
 
ErrorStatus RTC_SynchroShiftConfig (uint32_t RTC_ShiftAdd1S, uint32_t RTC_ShiftSubFS)
 Configures the Synchronization Shift Control Settings. More...
 
void RTC_ITConfig (uint32_t RTC_IT, FunctionalState NewState)
 Enables or disables the specified RTC interrupts. More...
 
FlagStatus RTC_GetFlagStatus (uint32_t RTC_FLAG)
 Checks whether the specified RTC flag is set or not. More...
 
void RTC_ClearFlag (uint32_t RTC_FLAG)
 Clears the RTC's pending flags. More...
 
ITStatus RTC_GetITStatus (uint32_t RTC_IT)
 Checks whether the specified RTC interrupt has occurred or not. More...
 
void RTC_ClearITPendingBit (uint32_t RTC_IT)
 Clears the RTC's interrupt pending bits. More...
 

Detailed Description

RTC driver modules.

Macro Definition Documentation

#define RTC_FLAGS_MASK
Value:
((uint32_t)(RTC_FLAG_TSOVF | RTC_FLAG_TSF | RTC_FLAG_WUTF | \
RTC_FLAG_ALRBF | RTC_FLAG_ALRAF | RTC_FLAG_INITF | \
RTC_FLAG_RSF | RTC_FLAG_INITS | RTC_FLAG_WUTWF | \
RTC_FLAG_ALRBWF | RTC_FLAG_ALRAWF | RTC_FLAG_TAMP1F | \
RTC_FLAG_RECALPF | RTC_FLAG_SHPF))

Definition at line 304 of file stm32f4xx_rtc.c.

Function Documentation

ErrorStatus RTC_AlarmCmd ( uint32_t  RTC_Alarm,
FunctionalState  NewState 
)

Enables or disables the specified RTC Alarm.

Parameters
RTC_Alarmspecifies the alarm to be configured. This parameter can be any combination of the following values:
  • RTC_Alarm_A: to select Alarm A
  • RTC_Alarm_B: to select Alarm B
NewStatenew state of the specified alarm. This parameter can be: ENABLE or DISABLE.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC Alarm is enabled/disabled
  • ERROR: RTC Alarm is not enabled/disabled

Definition at line 1310 of file stm32f4xx_rtc.c.

void RTC_AlarmStructInit ( RTC_AlarmTypeDef RTC_AlarmStruct)

Fills each RTC_AlarmStruct member with its default value (Time = 00h:00mn:00sec / Date = 1st day of the month/Mask = all fields are masked).

Parameters
RTC_AlarmStructpointer to a RTC_AlarmTypeDef structure which will be initialized.
Return values
None

Definition at line 1226 of file stm32f4xx_rtc.c.

void RTC_AlarmSubSecondConfig ( uint32_t  RTC_Alarm,
uint32_t  RTC_AlarmSubSecondValue,
uint32_t  RTC_AlarmSubSecondMask 
)

Configure the RTC AlarmA/B Sub seconds value and mask.*.

Note
This function is performed only when the Alarm is disabled.
Parameters
RTC_Alarmspecifies the alarm to be configured. This parameter can be one of the following values:
  • RTC_Alarm_A: to select Alarm A
  • RTC_Alarm_B: to select Alarm B
RTC_AlarmSubSecondValuespecifies the Sub seconds value. This parameter can be a value from 0 to 0x00007FFF.
RTC_AlarmSubSecondMaskspecifies the Sub seconds Mask. This parameter can be any combination of the following values:
  • RTC_AlarmSubSecondMask_All : All Alarm SS fields are masked. There is no comparison on sub seconds for Alarm.
  • RTC_AlarmSubSecondMask_SS14_1 : SS[14:1] are don't care in Alarm comparison. Only SS[0] is compared
  • RTC_AlarmSubSecondMask_SS14_2 : SS[14:2] are don't care in Alarm comparison. Only SS[1:0] are compared
  • RTC_AlarmSubSecondMask_SS14_3 : SS[14:3] are don't care in Alarm comparison. Only SS[2:0] are compared
  • RTC_AlarmSubSecondMask_SS14_4 : SS[14:4] are don't care in Alarm comparison. Only SS[3:0] are compared
  • RTC_AlarmSubSecondMask_SS14_5 : SS[14:5] are don't care in Alarm comparison. Only SS[4:0] are compared
  • RTC_AlarmSubSecondMask_SS14_6 : SS[14:6] are don't care in Alarm comparison. Only SS[5:0] are compared
  • RTC_AlarmSubSecondMask_SS14_7 : SS[14:7] are don't care in Alarm comparison. Only SS[6:0] are compared
  • RTC_AlarmSubSecondMask_SS14_8 : SS[14:8] are don't care in Alarm comparison. Only SS[7:0] are compared
  • RTC_AlarmSubSecondMask_SS14_9 : SS[14:9] are don't care in Alarm comparison. Only SS[8:0] are compared
  • RTC_AlarmSubSecondMask_SS14_10: SS[14:10] are don't care in Alarm comparison. Only SS[9:0] are compared
  • RTC_AlarmSubSecondMask_SS14_11: SS[14:11] are don't care in Alarm comparison. Only SS[10:0] are compared
  • RTC_AlarmSubSecondMask_SS14_12: SS[14:12] are don't care in Alarm comparison. Only SS[11:0] are compared
  • RTC_AlarmSubSecondMask_SS14_13: SS[14:13] are don't care in Alarm comparison. Only SS[12:0] are compared
  • RTC_AlarmSubSecondMask_SS14 : SS[14] is don't care in Alarm comparison. Only SS[13:0] are compared
  • RTC_AlarmSubSecondMask_None : SS[14:0] are compared and must match to activate alarm
Return values
None

Definition at line 1404 of file stm32f4xx_rtc.c.

void RTC_BypassShadowCmd ( FunctionalState  NewState)

Enables or Disables the Bypass Shadow feature.

Note
When the Bypass Shadow is enabled the calendar value are taken directly from the Calendar counter.
Parameters
NewStatenew state of the Bypass Shadow feature. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 710 of file stm32f4xx_rtc.c.

void RTC_CalibOutputCmd ( FunctionalState  NewState)

Enables or disables the RTC clock to be output through the relative pin.

Parameters
NewStatenew state of the digital calibration Output. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 1838 of file stm32f4xx_rtc.c.

void RTC_CalibOutputConfig ( uint32_t  RTC_CalibOutput)

Configure the Calibration Pinout (RTC_CALIB) Selection (1Hz or 512Hz).

Parameters
RTC_CalibOutput: Select the Calibration output Selection . This parameter can be one of the following values:
  • RTC_CalibOutput_512Hz: A signal has a regular waveform at 512Hz.
  • RTC_CalibOutput_1Hz : A signal has a regular waveform at 1Hz.
Return values
None

Definition at line 1870 of file stm32f4xx_rtc.c.

void RTC_ClearFlag ( uint32_t  RTC_FLAG)

Clears the RTC's pending flags.

Parameters
RTC_FLAGspecifies the RTC flag to clear. This parameter can be any combination of the following values:
  • RTC_FLAG_TAMP1F: Tamper 1 event flag
  • RTC_FLAG_TSOVF: Time Stamp Overflow flag
  • RTC_FLAG_TSF: Time Stamp event flag
  • RTC_FLAG_WUTF: WakeUp Timer flag
  • RTC_FLAG_ALRBF: Alarm B flag
  • RTC_FLAG_ALRAF: Alarm A flag
  • RTC_FLAG_RSF: Registers Synchronized flag
Return values
None

Definition at line 2641 of file stm32f4xx_rtc.c.

void RTC_ClearITPendingBit ( uint32_t  RTC_IT)

Clears the RTC's interrupt pending bits.

Parameters
RTC_ITspecifies the RTC interrupt pending bit to clear. This parameter can be any combination of the following values:
  • RTC_IT_TS: Time Stamp interrupt
  • RTC_IT_WUT: WakeUp Timer interrupt
  • RTC_IT_ALRB: Alarm B interrupt
  • RTC_IT_ALRA: Alarm A interrupt
  • RTC_IT_TAMP1: Tamper 1 event interrupt
Return values
None

Definition at line 2701 of file stm32f4xx_rtc.c.

ErrorStatus RTC_CoarseCalibCmd ( FunctionalState  NewState)

Enables or disables the Coarse calibration process.

Parameters
NewStatenew state of the Coarse calibration. This parameter can be: ENABLE or DISABLE.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC Coarse calibration are enabled/disabled
  • ERROR: RTC Coarse calibration are not enabled/disabled

Definition at line 1792 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

ErrorStatus RTC_CoarseCalibConfig ( uint32_t  RTC_CalibSign,
uint32_t  Value 
)

Configures the Coarse calibration parameters.

Parameters
RTC_CalibSignspecifies the sign of the coarse calibration value. This parameter can be one of the following values:
  • RTC_CalibSign_Positive: The value sign is positive
  • RTC_CalibSign_Negative: The value sign is negative
Valuevalue of coarse calibration expressed in ppm (coded on 5 bits).
Note
This Calibration value should be between 0 and 63 when using negative sign with a 2-ppm step.
This Calibration value should be between 0 and 126 when using positive sign with a 4-ppm step.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC Coarse calibration are initialized
  • ERROR: RTC Coarse calibration are not initialized

Definition at line 1751 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

void RTC_DateStructInit ( RTC_DateTypeDef RTC_DateStruct)

Fills each RTC_DateStruct member with its default value (Monday, January 01 xx00).

Parameters
RTC_DateStructpointer to a RTC_DateTypeDef structure which will be initialized.
Return values
None

Definition at line 1036 of file stm32f4xx_rtc.c.

void RTC_DayLightSavingConfig ( uint32_t  RTC_DayLightSaving,
uint32_t  RTC_StoreOperation 
)

Adds or substract one hour from the current time.

Parameters
RTC_DayLightSaveOperationthe value of hour adjustment. This parameter can be one of the following values:
  • RTC_DayLightSaving_SUB1H: Substract one hour (winter time)
  • RTC_DayLightSaving_ADD1H: Add one hour (summer time)
RTC_StoreOperationSpecifies the value to be written in the BCK bit in CR register to store the operation. This parameter can be one of the following values:
  • RTC_StoreOperation_Reset: BCK Bit Reset
  • RTC_StoreOperation_Set: BCK Bit Set
Return values
None

Definition at line 1631 of file stm32f4xx_rtc.c.

ErrorStatus RTC_DeInit ( void  )

Deinitializes the RTC registers to their default reset values.

Note
This function doesn't reset the RTC Clock source and RTC Backup Data registers.
Parameters
None
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC registers are deinitialized
  • ERROR: RTC registers are not deinitialized

Definition at line 375 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

ErrorStatus RTC_EnterInitMode ( void  )

Enters the RTC Initialization mode.

Note
The RTC Initialization mode is write protected, use the RTC_WriteProtectionCmd(DISABLE) before calling this function.
Parameters
None
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC is in Init mode
  • ERROR: RTC is not in Init mode

Definition at line 552 of file stm32f4xx_rtc.c.

+ Here is the caller graph for this function:

void RTC_ExitInitMode ( void  )

Exits the RTC Initialization mode.

Note
When the initialization sequence is complete, the calendar restarts counting after 4 RTCCLK cycles.
The RTC Initialization mode is write protected, use the RTC_WriteProtectionCmd(DISABLE) before calling this function.
Parameters
None
Return values
None

Definition at line 597 of file stm32f4xx_rtc.c.

+ Here is the caller graph for this function:

void RTC_GetAlarm ( uint32_t  RTC_Format,
uint32_t  RTC_Alarm,
RTC_AlarmTypeDef RTC_AlarmStruct 
)

Get the RTC Alarm value and masks.

Parameters
RTC_Formatspecifies the format of the output parameters. This parameter can be one of the following values:
  • RTC_Format_BIN: Binary data format
  • RTC_Format_BCD: BCD data format
RTC_Alarmspecifies the alarm to be read. This parameter can be one of the following values:
  • RTC_Alarm_A: to select Alarm A
  • RTC_Alarm_B: to select Alarm B
RTC_AlarmStructpointer to a RTC_AlarmTypeDef structure that will contains the output alarm configuration values.
Return values
None

Definition at line 1256 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

uint32_t RTC_GetAlarmSubSecond ( uint32_t  RTC_Alarm)

Gets the RTC Alarm Sub seconds value.

Parameters
RTC_Alarmspecifies the alarm to be read. This parameter can be one of the following values:
  • RTC_Alarm_A: to select Alarm A
  • RTC_Alarm_B: to select Alarm B
None
Return values
RTCAlarm Sub seconds value.

Definition at line 1445 of file stm32f4xx_rtc.c.

void RTC_GetDate ( uint32_t  RTC_Format,
RTC_DateTypeDef RTC_DateStruct 
)

Get the RTC current date.

Parameters
RTC_Formatspecifies the format of the returned parameters. This parameter can be one of the following values:
  • RTC_Format_BIN: Binary data format
  • RTC_Format_BCD: BCD data format
RTC_DateStructpointer to a RTC_DateTypeDef structure that will contain the returned current date configuration.
Return values
None

Definition at line 1055 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

FlagStatus RTC_GetFlagStatus ( uint32_t  RTC_FLAG)

Checks whether the specified RTC flag is set or not.

Parameters
RTC_FLAGspecifies the flag to check. This parameter can be one of the following values:
  • RTC_FLAG_RECALPF: RECALPF event flag.
  • RTC_FLAG_TAMP1F: Tamper 1 event flag
  • RTC_FLAG_TSOVF: Time Stamp OverFlow flag
  • RTC_FLAG_TSF: Time Stamp event flag
  • RTC_FLAG_WUTF: WakeUp Timer flag
  • RTC_FLAG_ALRBF: Alarm B flag
  • RTC_FLAG_ALRAF: Alarm A flag
  • RTC_FLAG_INITF: Initialization mode flag
  • RTC_FLAG_RSF: Registers Synchronized flag
  • RTC_FLAG_INITS: Registers Configured flag
  • RTC_FLAG_SHPF: Shift operation pending flag.
  • RTC_FLAG_WUTWF: WakeUp Timer Write flag
  • RTC_FLAG_ALRBWF: Alarm B Write flag
  • RTC_FLAG_ALRAWF: Alarm A write flag
Return values
Thenew state of RTC_FLAG (SET or RESET).

Definition at line 2605 of file stm32f4xx_rtc.c.

ITStatus RTC_GetITStatus ( uint32_t  RTC_IT)

Checks whether the specified RTC interrupt has occurred or not.

Parameters
RTC_ITspecifies the RTC interrupt source to check. This parameter can be one of the following values:
  • RTC_IT_TS: Time Stamp interrupt
  • RTC_IT_WUT: WakeUp Timer interrupt
  • RTC_IT_ALRB: Alarm B interrupt
  • RTC_IT_ALRA: Alarm A interrupt
  • RTC_IT_TAMP1: Tamper 1 event interrupt
Return values
Thenew state of RTC_IT (SET or RESET).

Definition at line 2661 of file stm32f4xx_rtc.c.

uint32_t RTC_GetStoreOperation ( void  )

Returns the RTC Day Light Saving stored operation.

Parameters
None
Return values
RTCDay Light Saving stored operation.
  • RTC_StoreOperation_Reset
  • RTC_StoreOperation_Set

Definition at line 1658 of file stm32f4xx_rtc.c.

uint32_t RTC_GetSubSecond ( void  )

Gets the RTC current Calendar Sub seconds value.

Note
This function freeze the Time and Date registers after reading the SSR register.
Parameters
None
Return values
RTCcurrent Calendar Sub seconds value.

Definition at line 920 of file stm32f4xx_rtc.c.

void RTC_GetTime ( uint32_t  RTC_Format,
RTC_TimeTypeDef RTC_TimeStruct 
)

Get the RTC current Time.

Parameters
RTC_Formatspecifies the format of the returned parameters. This parameter can be one of the following values:
  • RTC_Format_BIN: Binary data format
  • RTC_Format_BCD: BCD data format
RTC_TimeStructpointer to a RTC_TimeTypeDef structure that will contain the returned current time configuration.
Return values
None

Definition at line 887 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RTC_GetTimeStamp ( uint32_t  RTC_Format,
RTC_TimeTypeDef RTC_StampTimeStruct,
RTC_DateTypeDef RTC_StampDateStruct 
)

Get the RTC TimeStamp value and masks.

Parameters
RTC_Formatspecifies the format of the output parameters. This parameter can be one of the following values:
  • RTC_Format_BIN: Binary data format
  • RTC_Format_BCD: BCD data format
RTC_StampTimeStructpointer to a RTC_TimeTypeDef structure that will contains the TimeStamp time values.
RTC_StampDateStructpointer to a RTC_DateTypeDef structure that will contains the TimeStamp date values.
Return values
None

Definition at line 2026 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

uint32_t RTC_GetTimeStampSubSecond ( void  )

Get the RTC timestamp Sub seconds value.

Parameters
None
Return values
RTCcurrent timestamp Sub seconds value.

Definition at line 2070 of file stm32f4xx_rtc.c.

uint32_t RTC_GetWakeUpCounter ( void  )

Returns the RTC WakeUp timer counter value.

Parameters
None
Return values
TheRTC WakeUp Counter value.

Definition at line 1542 of file stm32f4xx_rtc.c.

ErrorStatus RTC_Init ( RTC_InitTypeDef RTC_InitStruct)

Initializes the RTC registers according to the specified parameters in RTC_InitStruct.

Parameters
RTC_InitStructpointer to a RTC_InitTypeDef structure that contains the configuration information for the RTC peripheral.
Note
The RTC Prescaler register is write protected and can be written in initialization mode only.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC registers are initialized
  • ERROR: RTC registers are not initialized

Definition at line 457 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RTC_ITConfig ( uint32_t  RTC_IT,
FunctionalState  NewState 
)

Enables or disables the specified RTC interrupts.

Parameters
RTC_ITspecifies the RTC interrupt sources to be enabled or disabled. This parameter can be any combination of the following values:
  • RTC_IT_TS: Time Stamp interrupt mask
  • RTC_IT_WUT: WakeUp Timer interrupt mask
  • RTC_IT_ALRB: Alarm B interrupt mask
  • RTC_IT_ALRA: Alarm A interrupt mask
  • RTC_IT_TAMP: Tamper event interrupt mask
NewStatenew state of the specified RTC interrupts. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 2557 of file stm32f4xx_rtc.c.

void RTC_OutputConfig ( uint32_t  RTC_Output,
uint32_t  RTC_OutputPolarity 
)

Configures the RTC output source (AFO_ALARM).

Parameters
RTC_OutputSpecifies which signal will be routed to the RTC output. This parameter can be one of the following values:
  • RTC_Output_Disable: No output selected
  • RTC_Output_AlarmA: signal of AlarmA mapped to output
  • RTC_Output_AlarmB: signal of AlarmB mapped to output
  • RTC_Output_WakeUp: signal of WakeUp mapped to output
RTC_OutputPolaritySpecifies the polarity of the output signal. This parameter can be one of the following:
  • RTC_OutputPolarity_High: The output pin is high when the ALRAF/ALRBF/WUTF is high (depending on OSEL)
  • RTC_OutputPolarity_Low: The output pin is low when the ALRAF/ALRBF/WUTF is high (depending on OSEL)
Return values
None

Definition at line 1697 of file stm32f4xx_rtc.c.

void RTC_OutputTypeConfig ( uint32_t  RTC_OutputType)

Configures the RTC Output Pin mode.

Parameters
RTC_OutputTypespecifies the RTC Output (PC13) pin mode. This parameter can be one of the following values:
  • RTC_OutputType_OpenDrain: RTC Output (PC13) is configured in Open Drain mode.
  • RTC_OutputType_PushPull: RTC Output (PC13) is configured in Push Pull mode.
Return values
None

Definition at line 2399 of file stm32f4xx_rtc.c.

uint32_t RTC_ReadBackupRegister ( uint32_t  RTC_BKP_DR)

Reads data from the specified RTC Backup data Register.

Parameters
RTC_BKP_DRRTC Backup data Register number. This parameter can be: RTC_BKP_DRx where x can be from 0 to 19 to specify the register.
Return values
None

Definition at line 2324 of file stm32f4xx_rtc.c.

+ Here is the caller graph for this function:

ErrorStatus RTC_RefClockCmd ( FunctionalState  NewState)

Enables or disables the RTC reference clock detection.

Parameters
NewStatenew state of the RTC reference clock. This parameter can be: ENABLE or DISABLE.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC reference clock detection is enabled
  • ERROR: RTC reference clock detection is disabled

Definition at line 662 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

void RTC_SetAlarm ( uint32_t  RTC_Format,
uint32_t  RTC_Alarm,
RTC_AlarmTypeDef RTC_AlarmStruct 
)

Set the specified RTC Alarm.

Note
The Alarm register can only be written when the corresponding Alarm is disabled (Use the RTC_AlarmCmd(DISABLE)).
Parameters
RTC_Formatspecifies the format of the returned parameters. This parameter can be one of the following values:
  • RTC_Format_BIN: Binary data format
  • RTC_Format_BCD: BCD data format
RTC_Alarmspecifies the alarm to be configured. This parameter can be one of the following values:
  • RTC_Alarm_A: to select Alarm A
  • RTC_Alarm_B: to select Alarm B
RTC_AlarmStructpointer to a RTC_AlarmTypeDef structure that contains the alarm configuration parameters.
Return values
None

Definition at line 1115 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

ErrorStatus RTC_SetDate ( uint32_t  RTC_Format,
RTC_DateTypeDef RTC_DateStruct 
)

Set the RTC current date.

Parameters
RTC_Formatspecifies the format of the entered parameters. This parameter can be one of the following values:
  • RTC_Format_BIN: Binary data format
  • RTC_Format_BCD: BCD data format
RTC_DateStructpointer to a RTC_DateTypeDef structure that contains the date configuration information for the RTC.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC Date register is configured
  • ERROR: RTC Date register is not configured

Definition at line 945 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ErrorStatus RTC_SetTime ( uint32_t  RTC_Format,
RTC_TimeTypeDef RTC_TimeStruct 
)

Set the RTC current time.

Parameters
RTC_Formatspecifies the format of the entered parameters. This parameter can be one of the following values:
  • RTC_Format_BIN: Binary data format
  • RTC_Format_BCD: BCD data format
RTC_TimeStructpointer to a RTC_TimeTypeDef structure that contains the time configuration information for the RTC.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC Time register is configured
  • ERROR: RTC Time register is not configured

Definition at line 765 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RTC_SetWakeUpCounter ( uint32_t  RTC_WakeUpCounter)

Configures the RTC Wakeup counter.

Note
The RTC WakeUp counter can only be written when the RTC WakeUp is disabled (Use the RTC_WakeUpCmd(DISABLE)).
Parameters
RTC_WakeUpCounterspecifies the WakeUp counter. This parameter can be a value from 0x0000 to 0xFFFF.
Return values
None

Definition at line 1521 of file stm32f4xx_rtc.c.

ErrorStatus RTC_SmoothCalibConfig ( uint32_t  RTC_SmoothCalibPeriod,
uint32_t  RTC_SmoothCalibPlusPulses,
uint32_t  RTC_SmouthCalibMinusPulsesValue 
)

Configures the Smooth Calibration Settings.

Parameters
RTC_SmoothCalibPeriod: Select the Smooth Calibration Period. This parameter can be can be one of the following values:
  • RTC_SmoothCalibPeriod_32sec : The smooth calibration period is 32s.
  • RTC_SmoothCalibPeriod_16sec : The smooth calibration period is 16s.
  • RTC_SmoothCalibPeriod_8sec : The smooth calibartion period is 8s.
RTC_SmoothCalibPlusPulses: Select to Set or reset the CALP bit. This parameter can be one of the following values:
  • RTC_SmoothCalibPlusPulses_Set : Add one RTCCLK puls every 2**11 pulses.
  • RTC_SmoothCalibPlusPulses_Reset: No RTCCLK pulses are added.
RTC_SmouthCalibMinusPulsesValueSelect the value of CALM[8:0] bits. This parameter can be one any value from 0 to 0x000001FF.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC Calib registers are configured
  • ERROR: RTC Calib registers are not configured

Definition at line 1906 of file stm32f4xx_rtc.c.

void RTC_StructInit ( RTC_InitTypeDef RTC_InitStruct)

Fills each RTC_InitStruct member with its default value.

Parameters
RTC_InitStructpointer to a RTC_InitTypeDef structure which will be initialized.
Return values
None

Definition at line 503 of file stm32f4xx_rtc.c.

ErrorStatus RTC_SynchroShiftConfig ( uint32_t  RTC_ShiftAdd1S,
uint32_t  RTC_ShiftSubFS 
)

Configures the Synchronization Shift Control Settings.

Note
When REFCKON is set, firmware must not write to Shift control register
Parameters
RTC_ShiftAdd1S: Select to add or not 1 second to the time Calendar. This parameter can be one of the following values :
  • RTC_ShiftAdd1S_Set : Add one second to the clock calendar.
  • RTC_ShiftAdd1S_Reset: No effect.
RTC_ShiftSubFSSelect the number of Second Fractions to Substitute. This parameter can be one any value from 0 to 0x7FFF.
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC Shift registers are configured
  • ERROR: RTC Shift registers are not configured

Definition at line 2437 of file stm32f4xx_rtc.c.

+ Here is the call graph for this function:

void RTC_TamperCmd ( uint32_t  RTC_Tamper,
FunctionalState  NewState 
)

Enables or Disables the Tamper detection.

Parameters
RTC_TamperSelected tamper pin. This parameter can be RTC_Tamper_1.
NewStatenew state of the tamper pin. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 2131 of file stm32f4xx_rtc.c.

void RTC_TamperFilterConfig ( uint32_t  RTC_TamperFilter)

Configures the Tampers Filter.

Parameters
RTC_TamperFilterSpecifies the tampers filter. This parameter can be one of the following values:
  • RTC_TamperFilter_Disable: Tamper filter is disabled.
  • RTC_TamperFilter_2Sample: Tamper is activated after 2 consecutive samples at the active level
  • RTC_TamperFilter_4Sample: Tamper is activated after 4 consecutive samples at the active level
  • RTC_TamperFilter_8Sample: Tamper is activated after 8 consecutive samples at the active level
Return values
None

Definition at line 2162 of file stm32f4xx_rtc.c.

void RTC_TamperPinSelection ( uint32_t  RTC_TamperPin)

Selects the RTC Tamper Pin.

Parameters
RTC_TamperPinspecifies the RTC Tamper Pin. This parameter can be one of the following values:
  • RTC_TamperPin_PC13: PC13 is selected as RTC Tamper Pin.
  • RTC_TamperPin_PI8: PI8 is selected as RTC Tamper Pin.
Return values
None

Definition at line 2363 of file stm32f4xx_rtc.c.

void RTC_TamperPinsPrechargeDuration ( uint32_t  RTC_TamperPrechargeDuration)

Configures the Tampers Pins input Precharge Duration.

Parameters
RTC_TamperPrechargeDurationSpecifies the Tampers Pins input Precharge Duration. This parameter can be one of the following values:
  • RTC_TamperPrechargeDuration_1RTCCLK: Tamper pins are precharged before sampling during 1 RTCCLK cycle
  • RTC_TamperPrechargeDuration_2RTCCLK: Tamper pins are precharged before sampling during 2 RTCCLK cycle
  • RTC_TamperPrechargeDuration_4RTCCLK: Tamper pins are precharged before sampling during 4 RTCCLK cycle
  • RTC_TamperPrechargeDuration_8RTCCLK: Tamper pins are precharged before sampling during 8 RTCCLK cycle
Return values
None

Definition at line 2219 of file stm32f4xx_rtc.c.

void RTC_TamperPullUpCmd ( FunctionalState  NewState)

Enables or Disables the Precharge of Tamper pin.

Parameters
NewStatenew state of tamper pull up. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 2262 of file stm32f4xx_rtc.c.

void RTC_TamperSamplingFreqConfig ( uint32_t  RTC_TamperSamplingFreq)

Configures the Tampers Sampling Frequency.

Parameters
RTC_TamperSamplingFreqSpecifies the tampers Sampling Frequency. This parameter can be one of the following values:
  • RTC_TamperSamplingFreq_RTCCLK_Div32768: Each of the tamper inputs are sampled with a frequency = RTCCLK / 32768
  • RTC_TamperSamplingFreq_RTCCLK_Div16384: Each of the tamper inputs are sampled with a frequency = RTCCLK / 16384
  • RTC_TamperSamplingFreq_RTCCLK_Div8192: Each of the tamper inputs are sampled with a frequency = RTCCLK / 8192
  • RTC_TamperSamplingFreq_RTCCLK_Div4096: Each of the tamper inputs are sampled with a frequency = RTCCLK / 4096
  • RTC_TamperSamplingFreq_RTCCLK_Div2048: Each of the tamper inputs are sampled with a frequency = RTCCLK / 2048
  • RTC_TamperSamplingFreq_RTCCLK_Div1024: Each of the tamper inputs are sampled with a frequency = RTCCLK / 1024
  • RTC_TamperSamplingFreq_RTCCLK_Div512: Each of the tamper inputs are sampled with a frequency = RTCCLK / 512
  • RTC_TamperSamplingFreq_RTCCLK_Div256: Each of the tamper inputs are sampled with a frequency = RTCCLK / 256
Return values
None

Definition at line 2196 of file stm32f4xx_rtc.c.

void RTC_TamperTriggerConfig ( uint32_t  RTC_Tamper,
uint32_t  RTC_TamperTrigger 
)

Configures the select Tamper pin edge.

Parameters
RTC_TamperSelected tamper pin. This parameter can be RTC_Tamper_1.
RTC_TamperTriggerSpecifies the trigger on the tamper pin that stimulates tamper event. This parameter can be one of the following values:
  • RTC_TamperTrigger_RisingEdge: Rising Edge of the tamper pin causes tamper event.
  • RTC_TamperTrigger_FallingEdge: Falling Edge of the tamper pin causes tamper event.
  • RTC_TamperTrigger_LowLevel: Low Level of the tamper pin causes tamper event.
  • RTC_TamperTrigger_HighLevel: High Level of the tamper pin causes tamper event.
Return values
None

Definition at line 2105 of file stm32f4xx_rtc.c.

void RTC_TimeStampCmd ( uint32_t  RTC_TimeStampEdge,
FunctionalState  NewState 
)

Enables or Disables the RTC TimeStamp functionality with the specified time stamp pin stimulating edge.

Parameters
RTC_TimeStampEdgeSpecifies the pin edge on which the TimeStamp is activated. This parameter can be one of the following:
  • RTC_TimeStampEdge_Rising: the Time stamp event occurs on the rising edge of the related pin.
  • RTC_TimeStampEdge_Falling: the Time stamp event occurs on the falling edge of the related pin.
NewStatenew state of the TimeStamp. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 1982 of file stm32f4xx_rtc.c.

void RTC_TimeStampOnTamperDetectionCmd ( FunctionalState  NewState)

Enables or Disables the TimeStamp on Tamper Detection Event.

Note
The timestamp is valid even the TSE bit in tamper control register is reset.
Parameters
NewStatenew state of the timestamp on tamper event. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 2239 of file stm32f4xx_rtc.c.

void RTC_TimeStampPinSelection ( uint32_t  RTC_TimeStampPin)

Selects the RTC TimeStamp Pin.

Parameters
RTC_TimeStampPinspecifies the RTC TimeStamp Pin. This parameter can be one of the following values:
  • RTC_TimeStampPin_PC13: PC13 is selected as RTC TimeStamp Pin.
  • RTC_TimeStampPin_PI8: PI8 is selected as RTC TimeStamp Pin.
Return values
None

Definition at line 2380 of file stm32f4xx_rtc.c.

void RTC_TimeStructInit ( RTC_TimeTypeDef RTC_TimeStruct)

Fills each RTC_TimeStruct member with its default value (Time = 00h:00min:00sec).

Parameters
RTC_TimeStructpointer to a RTC_TimeTypeDef structure which will be initialized.
Return values
None

Definition at line 868 of file stm32f4xx_rtc.c.

ErrorStatus RTC_WaitForSynchro ( void  )

Waits until the RTC Time and Date registers (RTC_TR and RTC_DR) are synchronized with RTC APB clock.

Note
The RTC Resynchronization mode is write protected, use the RTC_WriteProtectionCmd(DISABLE) before calling this function.
To read the calendar through the shadow registers after Calendar initialization, calendar update or after wakeup from low power modes the software must first clear the RSF flag. The software must then wait until it is set again before reading the calendar, which means that the calendar registers have been correctly copied into the RTC_TR and RTC_DR shadow registers.
Parameters
None
Return values
AnErrorStatus enumeration value:
  • SUCCESS: RTC registers are synchronised
  • ERROR: RTC registers are not synchronised

Definition at line 619 of file stm32f4xx_rtc.c.

+ Here is the caller graph for this function:

void RTC_WakeUpClockConfig ( uint32_t  RTC_WakeUpClock)

Configures the RTC Wakeup clock source.

Note
The WakeUp Clock source can only be changed when the RTC WakeUp is disabled (Use the RTC_WakeUpCmd(DISABLE)).
Parameters
RTC_WakeUpClockWakeup Clock source. This parameter can be one of the following values:
  • RTC_WakeUpClock_RTCCLK_Div16: RTC Wakeup Counter Clock = RTCCLK/16
  • RTC_WakeUpClock_RTCCLK_Div8: RTC Wakeup Counter Clock = RTCCLK/8
  • RTC_WakeUpClock_RTCCLK_Div4: RTC Wakeup Counter Clock = RTCCLK/4
  • RTC_WakeUpClock_RTCCLK_Div2: RTC Wakeup Counter Clock = RTCCLK/2
  • RTC_WakeUpClock_CK_SPRE_16bits: RTC Wakeup Counter Clock = CK_SPRE
  • RTC_WakeUpClock_CK_SPRE_17bits: RTC Wakeup Counter Clock = CK_SPRE
Return values
None

Definition at line 1494 of file stm32f4xx_rtc.c.

ErrorStatus RTC_WakeUpCmd ( FunctionalState  NewState)

Enables or Disables the RTC WakeUp timer.

Parameters
NewStatenew state of the WakeUp timer. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 1554 of file stm32f4xx_rtc.c.

void RTC_WriteBackupRegister ( uint32_t  RTC_BKP_DR,
uint32_t  Data 
)

Writes a data in a specified RTC Backup data register.

Parameters
RTC_BKP_DRRTC Backup data Register number. This parameter can be: RTC_BKP_DRx where x can be from 0 to 19 to specify the register.
DataData to be written in the specified RTC Backup data register.
Return values
None

Definition at line 2303 of file stm32f4xx_rtc.c.

+ Here is the caller graph for this function:

void RTC_WriteProtectionCmd ( FunctionalState  NewState)

Enables or disables the RTC registers write protection.

Note
All the RTC registers are write protected except for RTC_ISR[13:8], RTC_TAFCR and RTC_BKPxR.
Writing a wrong key reactivates the write protection.
The protection mechanism is not affected by system reset.
Parameters
NewStatenew state of the write protection. This parameter can be: ENABLE or DISABLE.
Return values
None

Definition at line 525 of file stm32f4xx_rtc.c.