mirror of https://github.com/ARMmbed/mbed-os.git
[STM32L4] Change LSI_VALUE to 32 kHz (#1662)
* Add DEVICE_RTC_LSI=0 * Change LSI value to 32 kHz This is the value written in the device datasheet. * Replace tabulations with spacespull/1674/head
parent
ffcdd68d7d
commit
9b277ae859
|
@ -65,9 +65,9 @@ void rtc_init(void)
|
|||
HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct);
|
||||
rtc_freq = LSE_VALUE;
|
||||
} else {
|
||||
error("Cannot initialize RTC with LSE\n");
|
||||
error("Cannot initialize RTC with LSE\n");
|
||||
}
|
||||
#else
|
||||
#else
|
||||
// Enable Power clock
|
||||
__HAL_RCC_PWR_CLK_ENABLE();
|
||||
|
||||
|
@ -78,22 +78,22 @@ void rtc_init(void)
|
|||
__HAL_RCC_BACKUPRESET_FORCE();
|
||||
__HAL_RCC_BACKUPRESET_RELEASE();
|
||||
|
||||
// Enable LSI clock
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_LSE;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // Mandatory, otherwise the PLL is reconfigured!
|
||||
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
|
||||
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
|
||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
|
||||
error("Cannot initialize RTC with LSI\n");
|
||||
}
|
||||
// Connect LSI to RTC
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
|
||||
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
|
||||
error("Cannot initialize RTC with LSI\n");
|
||||
}
|
||||
// This value is LSI typical value. To be measured precisely using a timer input capture for example.
|
||||
rtc_freq = 40000;
|
||||
// Enable LSI clock
|
||||
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_LSI | RCC_OSCILLATORTYPE_LSE;
|
||||
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE; // Mandatory, otherwise the PLL is reconfigured!
|
||||
RCC_OscInitStruct.LSEState = RCC_LSE_OFF;
|
||||
RCC_OscInitStruct.LSIState = RCC_LSI_ON;
|
||||
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
|
||||
error("Cannot initialize RTC with LSI\n");
|
||||
}
|
||||
// Connect LSI to RTC
|
||||
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC;
|
||||
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI;
|
||||
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) {
|
||||
error("Cannot initialize RTC with LSI\n");
|
||||
}
|
||||
// This value is LSI typical value (see device datasheet)
|
||||
rtc_freq = 32000;
|
||||
#endif
|
||||
|
||||
// Check if RTC is already initialized
|
||||
|
@ -141,7 +141,7 @@ void rtc_free(void)
|
|||
|
||||
#if DEVICE_RTC_LSI
|
||||
rtc_inited = 0;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
int rtc_isenabled(void)
|
||||
|
|
Loading…
Reference in New Issue