21 #ifndef __STM32F1xx_LL_RTC_H
22 #define __STM32F1xx_LL_RTC_H
46 #if defined(USE_FULL_LL_DRIVER)
56 #if defined(USE_FULL_LL_DRIVER)
66 uint32_t AsynchPrescaler;
72 uint32_t OutPutSource;
101 LL_RTC_TimeTypeDef AlarmTime;
103 } LL_RTC_AlarmTypeDef;
115 #if defined(USE_FULL_LL_DRIVER)
119 #define LL_RTC_FORMAT_BIN (0x000000000U)
120 #define LL_RTC_FORMAT_BCD (0x000000001U)
129 #if RTC_BKP_NUMBER > 0
130 #define LL_RTC_BKP_DR1 (0x00000001U)
131 #define LL_RTC_BKP_DR2 (0x00000002U)
132 #define LL_RTC_BKP_DR3 (0x00000003U)
133 #define LL_RTC_BKP_DR4 (0x00000004U)
134 #define LL_RTC_BKP_DR5 (0x00000005U)
135 #define LL_RTC_BKP_DR6 (0x00000006U)
136 #define LL_RTC_BKP_DR7 (0x00000007U)
137 #define LL_RTC_BKP_DR8 (0x00000008U)
138 #define LL_RTC_BKP_DR9 (0x00000009U)
139 #define LL_RTC_BKP_DR10 (0x0000000AU)
141 #if RTC_BKP_NUMBER > 10
142 #define LL_RTC_BKP_DR11 (0x0000000BU)
143 #define LL_RTC_BKP_DR12 (0x0000000CU)
144 #define LL_RTC_BKP_DR13 (0x0000000DU)
145 #define LL_RTC_BKP_DR14 (0x0000000EU)
146 #define LL_RTC_BKP_DR15 (0x0000000FU)
147 #define LL_RTC_BKP_DR16 (0x00000010U)
148 #define LL_RTC_BKP_DR17 (0x00000011U)
149 #define LL_RTC_BKP_DR18 (0x00000012U)
150 #define LL_RTC_BKP_DR19 (0x00000013U)
151 #define LL_RTC_BKP_DR20 (0x00000014U)
152 #define LL_RTC_BKP_DR21 (0x00000015U)
153 #define LL_RTC_BKP_DR22 (0x00000016U)
154 #define LL_RTC_BKP_DR23 (0x00000017U)
155 #define LL_RTC_BKP_DR24 (0x00000018U)
156 #define LL_RTC_BKP_DR25 (0x00000019U)
157 #define LL_RTC_BKP_DR26 (0x0000001AU)
158 #define LL_RTC_BKP_DR27 (0x0000001BU)
159 #define LL_RTC_BKP_DR28 (0x0000001CU)
160 #define LL_RTC_BKP_DR29 (0x0000001DU)
161 #define LL_RTC_BKP_DR30 (0x0000001EU)
162 #define LL_RTC_BKP_DR31 (0x0000001FU)
163 #define LL_RTC_BKP_DR32 (0x00000020U)
164 #define LL_RTC_BKP_DR33 (0x00000021U)
165 #define LL_RTC_BKP_DR34 (0x00000022U)
166 #define LL_RTC_BKP_DR35 (0x00000023U)
167 #define LL_RTC_BKP_DR36 (0x00000024U)
168 #define LL_RTC_BKP_DR37 (0x00000025U)
169 #define LL_RTC_BKP_DR38 (0x00000026U)
170 #define LL_RTC_BKP_DR39 (0x00000027U)
171 #define LL_RTC_BKP_DR40 (0x00000028U)
172 #define LL_RTC_BKP_DR41 (0x00000029U)
173 #define LL_RTC_BKP_DR42 (0x0000002AU)
183 #define LL_RTC_TAMPER_ACTIVELEVEL_LOW BKP_CR_TPAL
184 #define LL_RTC_TAMPER_ACTIVELEVEL_HIGH (0x00000000U)
193 #define LL_RTC_CALIB_OUTPUT_NONE (0x00000000U)
194 #define LL_RTC_CALIB_OUTPUT_RTCCLOCK BKP_RTCCR_CCO
195 #define LL_RTC_CALIB_OUTPUT_ALARM BKP_RTCCR_ASOE
196 #define LL_RTC_CALIB_OUTPUT_SECOND (BKP_RTCCR_ASOS | BKP_RTCCR_ASOE)
221 #define LL_RTC_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
229 #define LL_RTC_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
243 #define __LL_RTC_CONVERT_BIN2BCD(__VALUE__) (uint8_t)((((__VALUE__) / 10U) << 4U) | ((__VALUE__) % 10U))
250 #define __LL_RTC_CONVERT_BCD2BIN(__VALUE__) (uint8_t)(((uint8_t)((__VALUE__) & (uint8_t)0xF0U) >> (uint8_t)0x4U) * 10U + ((__VALUE__) & (uint8_t)0x0FU))
292 register uint16_t Highprescaler = 0, Lowprescaler = 0;
296 return (((uint32_t) Highprescaler << 16U) | Lowprescaler);
391 register uint16_t high = 0, low = 0;
395 return ((uint32_t)(((uint32_t) high << 16U) | low));
433 register uint16_t high = 0, low = 0;
438 return (((uint32_t) high << 16U) | low);
554 register uint32_t tmp = 0U;
557 tmp += (BackupRegister * 4U);
560 *(
__IO uint32_t *)tmp = (uint32_t)Data;
614 register uint32_t tmp = 0U;
617 tmp += (BackupRegister * 4U);
956 #if defined(USE_FULL_LL_DRIVER)
963 void LL_RTC_StructInit(LL_RTC_InitTypeDef *RTC_InitStruct);
965 void LL_RTC_TIME_StructInit(LL_RTC_TimeTypeDef *RTC_TimeStruct);
966 ErrorStatus LL_RTC_ALARM_Init(
RTC_TypeDef *RTCx, uint32_t RTC_Format, LL_RTC_AlarmTypeDef *RTC_AlarmStruct);
967 void LL_RTC_ALARM_StructInit(LL_RTC_AlarmTypeDef *RTC_AlarmStruct);