|
27 | 27 | // #include "stm32_lpm.h"
|
28 | 28 | // #include "utilities_def.h"
|
29 | 29 | #include "stm32wlxx_ll_rtc.h"
|
30 |
| -#include "rtc.h" |
31 | 30 |
|
32 | 31 | /* USER CODE BEGIN Includes */
|
33 | 32 |
|
34 | 33 | /* USER CODE END Includes */
|
35 | 34 |
|
36 | 35 | /* External variables ---------------------------------------------------------*/
|
37 |
| -/** |
38 |
| - * @brief RTC handle |
39 |
| - */ |
| 36 | + |
40 | 37 | extern RTC_HandleTypeDef RtcHandle;
|
41 | 38 |
|
| 39 | +/* HAL MSP function used for RTC_Init */ |
| 40 | +void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle) |
| 41 | +{ |
| 42 | + |
| 43 | + if(rtcHandle->Instance==RTC) |
| 44 | + { |
| 45 | + if (HAL_RTCEx_SetSSRU_IT(rtcHandle) != HAL_OK) |
| 46 | + { |
| 47 | + Error_Handler(); |
| 48 | + } |
| 49 | + |
| 50 | + /* RTC interrupt Init */ |
| 51 | + HAL_NVIC_SetPriority(TAMP_STAMP_LSECSS_SSRU_IRQn, 0, 0); |
| 52 | + HAL_NVIC_EnableIRQ(TAMP_STAMP_LSECSS_SSRU_IRQn); |
| 53 | + |
| 54 | + HAL_NVIC_SetPriority(RTC_Alarm_IRQn, RTC_IRQ_PRIO, RTC_IRQ_SUBPRIO); |
| 55 | + HAL_NVIC_EnableIRQ(RTC_Alarm_IRQn); |
| 56 | + } |
| 57 | +} |
| 58 | + |
| 59 | +void HAL_RTC_MspDeInit(RTC_HandleTypeDef* rtcHandle) |
| 60 | +{ |
| 61 | + |
| 62 | + if(rtcHandle->Instance==RTC) |
| 63 | + { |
| 64 | + /* USER CODE BEGIN RTC_MspDeInit 0 */ |
| 65 | + |
| 66 | + /* USER CODE END RTC_MspDeInit 0 */ |
| 67 | + /* Peripheral clock disable */ |
| 68 | + __HAL_RCC_RTC_DISABLE(); |
| 69 | + __HAL_RCC_RTCAPB_CLK_DISABLE(); |
| 70 | + |
| 71 | + /* RTC interrupt Deinit */ |
| 72 | + HAL_NVIC_DisableIRQ(TAMP_STAMP_LSECSS_SSRU_IRQn); |
| 73 | + HAL_NVIC_DisableIRQ(RTC_Alarm_IRQn); |
| 74 | + /* USER CODE BEGIN RTC_MspDeInit 1 */ |
| 75 | + |
| 76 | + /* USER CODE END RTC_MspDeInit 1 */ |
| 77 | + } |
| 78 | +} |
| 79 | + |
42 | 80 | /**
|
43 | 81 | * @brief Timer driver callbacks handler
|
44 | 82 | */
|
@@ -187,6 +225,12 @@ UTIL_TIMER_Status_t TIMER_IF_Init(void)
|
187 | 225 | if (RTC_Initialized == false)
|
188 | 226 | {
|
189 | 227 | /* RTC is already Initialized by the LoRaWan::begin */
|
| 228 | + RtcHandle.IsEnabled.RtcFeatures = UINT32_MAX; |
| 229 | + |
| 230 | + /** Enable the Alarm B just after the HAL_RTC_Init */ |
| 231 | + RTC_StartAlarm(RTC_ALARM_B, 0, 0, 0, 0, 0, RTC_HOURFORMAT12_PM, 32UL); |
| 232 | + |
| 233 | + /*Stop Timer */ |
190 | 234 | TIMER_IF_StopTimer();
|
191 | 235 |
|
192 | 236 | /*overload RTC feature enable*/
|
|
0 commit comments