Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: Nucleo_F103RB_RTC_battery_bkup_pwr_off_okay
Fork of mbed-dev by
Diff: targets/TARGET_STM/rtc_api.c
- Revision:
- 176:447f873cad2f
- Parent:
- 167:e84263d55307
- Child:
- 177:619788de047e
diff -r af195413fb11 -r 447f873cad2f targets/TARGET_STM/rtc_api.c
--- a/targets/TARGET_STM/rtc_api.c Wed Oct 11 12:45:49 2017 +0100
+++ b/targets/TARGET_STM/rtc_api.c Wed Oct 25 14:53:38 2017 +0100
@@ -57,13 +57,14 @@
void rtc_init(void)
{
- RCC_OscInitTypeDef RCC_OscInitStruct;
- RCC_PeriphCLKInitTypeDef PeriphClkInitStruct;
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
+ RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0};
// Enable access to Backup domain
HAL_PWR_EnableBkUpAccess();
RtcHandle.Instance = RTC;
+ RtcHandle.State = HAL_RTC_STATE_RESET;
#if !RTC_LSI
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSE;
@@ -162,7 +163,7 @@
#endif
// Disable LSI and LSE clocks
- RCC_OscInitTypeDef RCC_OscInitStruct;
+ RCC_OscInitTypeDef RCC_OscInitStruct = {0};
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_LSE;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
RCC_OscInitStruct.LSIState = RCC_LSI_OFF;
@@ -217,8 +218,8 @@
time_t rtc_read(void)
{
- RTC_DateTypeDef dateStruct;
- RTC_TimeTypeDef timeStruct;
+ RTC_DateTypeDef dateStruct = {0};
+ RTC_TimeTypeDef timeStruct = {0};
struct tm timeinfo;
RtcHandle.Instance = RTC;
@@ -247,8 +248,8 @@
void rtc_write(time_t t)
{
- RTC_DateTypeDef dateStruct;
- RTC_TimeTypeDef timeStruct;
+ RTC_DateTypeDef dateStruct = {0};
+ RTC_TimeTypeDef timeStruct = {0};
RtcHandle.Instance = RTC;
@@ -295,13 +296,10 @@
static void RTC_IRQHandler(void)
{
+ /* Update HAL state */
HAL_RTCEx_WakeUpTimerIRQHandler(&RtcHandle);
-}
-
-void HAL_RTCEx_WakeUpTimerEventCallback(RTC_HandleTypeDef *hrtc)
-{
+ /* In case of registered handler, call it. */
if (irq_handler) {
- // Fire the user callback
irq_handler();
}
}
