|
@@ -42,6 +42,8 @@
|
|
|
|
|
|
QSPI_HandleTypeDef hqspi;
|
|
|
|
|
|
+RTC_HandleTypeDef hrtc;
|
|
|
+
|
|
|
SD_HandleTypeDef hsd1;
|
|
|
|
|
|
UART_HandleTypeDef huart1;
|
|
@@ -62,6 +64,7 @@ static void MX_FMC_Init(void);
|
|
|
static void MX_QUADSPI_Init(void);
|
|
|
static void MX_SDMMC1_SD_Init(void);
|
|
|
static void MX_USB_OTG_FS_PCD_Init(void);
|
|
|
+static void MX_RTC_Init(void);
|
|
|
/* USER CODE BEGIN PFP */
|
|
|
|
|
|
/* USER CODE END PFP */
|
|
@@ -110,6 +113,7 @@ int main(void)
|
|
|
MX_QUADSPI_Init();
|
|
|
MX_SDMMC1_SD_Init();
|
|
|
MX_USB_OTG_FS_PCD_Init();
|
|
|
+ MX_RTC_Init();
|
|
|
/* USER CODE BEGIN 2 */
|
|
|
|
|
|
/* USER CODE END 2 */
|
|
@@ -145,8 +149,10 @@ void SystemClock_Config(void)
|
|
|
/** Initializes the RCC Oscillators according to the specified parameters
|
|
|
* in the RCC_OscInitTypeDef structure.
|
|
|
*/
|
|
|
- RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSE;
|
|
|
+ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_LSI
|
|
|
+ |RCC_OSCILLATORTYPE_HSE;
|
|
|
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
|
|
|
+ RCC_OscInitStruct.LSIState = RCC_LSI_ON;
|
|
|
RCC_OscInitStruct.HSI48State = RCC_HSI48_ON;
|
|
|
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
|
|
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
|
|
@@ -216,6 +222,69 @@ static void MX_QUADSPI_Init(void)
|
|
|
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * @brief RTC Initialization Function
|
|
|
+ * @param None
|
|
|
+ * @retval None
|
|
|
+ */
|
|
|
+static void MX_RTC_Init(void)
|
|
|
+{
|
|
|
+
|
|
|
+ /* USER CODE BEGIN RTC_Init 0 */
|
|
|
+
|
|
|
+ /* USER CODE END RTC_Init 0 */
|
|
|
+
|
|
|
+ RTC_TimeTypeDef sTime = {0};
|
|
|
+ RTC_DateTypeDef sDate = {0};
|
|
|
+
|
|
|
+ /* USER CODE BEGIN RTC_Init 1 */
|
|
|
+
|
|
|
+ /* USER CODE END RTC_Init 1 */
|
|
|
+ /** Initialize RTC Only
|
|
|
+ */
|
|
|
+ hrtc.Instance = RTC;
|
|
|
+ hrtc.Init.HourFormat = RTC_HOURFORMAT_24;
|
|
|
+ hrtc.Init.AsynchPrediv = 127;
|
|
|
+ hrtc.Init.SynchPrediv = 255;
|
|
|
+ hrtc.Init.OutPut = RTC_OUTPUT_DISABLE;
|
|
|
+ hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH;
|
|
|
+ hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN;
|
|
|
+ hrtc.Init.OutPutRemap = RTC_OUTPUT_REMAP_NONE;
|
|
|
+ if (HAL_RTC_Init(&hrtc) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+
|
|
|
+ /* USER CODE BEGIN Check_RTC_BKUP */
|
|
|
+
|
|
|
+ /* USER CODE END Check_RTC_BKUP */
|
|
|
+
|
|
|
+ /** Initialize RTC and set the Time and Date
|
|
|
+ */
|
|
|
+ sTime.Hours = 0x0;
|
|
|
+ sTime.Minutes = 0x0;
|
|
|
+ sTime.Seconds = 0x0;
|
|
|
+ sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE;
|
|
|
+ sTime.StoreOperation = RTC_STOREOPERATION_RESET;
|
|
|
+ if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BCD) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ sDate.WeekDay = RTC_WEEKDAY_MONDAY;
|
|
|
+ sDate.Month = RTC_MONTH_JANUARY;
|
|
|
+ sDate.Date = 0x1;
|
|
|
+ sDate.Year = 0x0;
|
|
|
+
|
|
|
+ if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BCD) != HAL_OK)
|
|
|
+ {
|
|
|
+ Error_Handler();
|
|
|
+ }
|
|
|
+ /* USER CODE BEGIN RTC_Init 2 */
|
|
|
+
|
|
|
+ /* USER CODE END RTC_Init 2 */
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* @brief SDMMC1 Initialization Function
|
|
|
* @param None
|