|
@@ -69,6 +69,8 @@ IWDG_HandleTypeDef hiwdg1;
|
|
|
|
|
|
LTDC_HandleTypeDef hltdc;
|
|
LTDC_HandleTypeDef hltdc;
|
|
|
|
|
|
|
|
+QSPI_HandleTypeDef hqspi;
|
|
|
|
+
|
|
RTC_HandleTypeDef hrtc;
|
|
RTC_HandleTypeDef hrtc;
|
|
|
|
|
|
UART_HandleTypeDef huart1;
|
|
UART_HandleTypeDef huart1;
|
|
@@ -88,6 +90,7 @@ static void MX_DMA2D_Init(void);
|
|
static void MX_LTDC_Init(void);
|
|
static void MX_LTDC_Init(void);
|
|
static void MX_RTC_Init(void);
|
|
static void MX_RTC_Init(void);
|
|
static void MX_IWDG1_Init(void);
|
|
static void MX_IWDG1_Init(void);
|
|
|
|
+static void MX_QUADSPI_Init(void);
|
|
/* USER CODE BEGIN PFP */
|
|
/* USER CODE BEGIN PFP */
|
|
|
|
|
|
/* USER CODE END PFP */
|
|
/* USER CODE END PFP */
|
|
@@ -138,6 +141,7 @@ int main(void)
|
|
MX_LTDC_Init();
|
|
MX_LTDC_Init();
|
|
MX_RTC_Init();
|
|
MX_RTC_Init();
|
|
MX_IWDG1_Init();
|
|
MX_IWDG1_Init();
|
|
|
|
+ MX_QUADSPI_Init();
|
|
/* USER CODE BEGIN 2 */
|
|
/* USER CODE BEGIN 2 */
|
|
|
|
|
|
/* USER CODE END 2 */
|
|
/* USER CODE END 2 */
|
|
@@ -217,7 +221,8 @@ void SystemClock_Config(void)
|
|
Error_Handler();
|
|
Error_Handler();
|
|
}
|
|
}
|
|
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_LTDC
|
|
PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_LTDC
|
|
- |RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_FMC;
|
|
|
|
|
|
+ |RCC_PERIPHCLK_USART1|RCC_PERIPHCLK_QSPI
|
|
|
|
+ |RCC_PERIPHCLK_FMC;
|
|
PeriphClkInitStruct.PLL3.PLL3M = 5;
|
|
PeriphClkInitStruct.PLL3.PLL3M = 5;
|
|
PeriphClkInitStruct.PLL3.PLL3N = 160;
|
|
PeriphClkInitStruct.PLL3.PLL3N = 160;
|
|
PeriphClkInitStruct.PLL3.PLL3P = 2;
|
|
PeriphClkInitStruct.PLL3.PLL3P = 2;
|
|
@@ -227,6 +232,7 @@ void SystemClock_Config(void)
|
|
PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE;
|
|
PeriphClkInitStruct.PLL3.PLL3VCOSEL = RCC_PLL3VCOWIDE;
|
|
PeriphClkInitStruct.PLL3.PLL3FRACN = 0;
|
|
PeriphClkInitStruct.PLL3.PLL3FRACN = 0;
|
|
PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_D1HCLK;
|
|
PeriphClkInitStruct.FmcClockSelection = RCC_FMCCLKSOURCE_D1HCLK;
|
|
|
|
+ PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_D1HCLK;
|
|
PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_D2PCLK2;
|
|
PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_D2PCLK2;
|
|
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
|
|
PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE;
|
|
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
|
if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK)
|
|
@@ -375,6 +381,41 @@ static void MX_LTDC_Init(void)
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * @brief QUADSPI Initialization Function
|
|
|
|
+ * @param None
|
|
|
|
+ * @retval None
|
|
|
|
+ */
|
|
|
|
+static void MX_QUADSPI_Init(void)
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ /* USER CODE BEGIN QUADSPI_Init 0 */
|
|
|
|
+
|
|
|
|
+ /* USER CODE END QUADSPI_Init 0 */
|
|
|
|
+
|
|
|
|
+ /* USER CODE BEGIN QUADSPI_Init 1 */
|
|
|
|
+
|
|
|
|
+ /* USER CODE END QUADSPI_Init 1 */
|
|
|
|
+ /* QUADSPI parameter configuration*/
|
|
|
|
+ hqspi.Instance = QUADSPI;
|
|
|
|
+ hqspi.Init.ClockPrescaler = 255;
|
|
|
|
+ hqspi.Init.FifoThreshold = 1;
|
|
|
|
+ hqspi.Init.SampleShifting = QSPI_SAMPLE_SHIFTING_NONE;
|
|
|
|
+ hqspi.Init.FlashSize = 1;
|
|
|
|
+ hqspi.Init.ChipSelectHighTime = QSPI_CS_HIGH_TIME_1_CYCLE;
|
|
|
|
+ hqspi.Init.ClockMode = QSPI_CLOCK_MODE_0;
|
|
|
|
+ hqspi.Init.FlashID = QSPI_FLASH_ID_1;
|
|
|
|
+ hqspi.Init.DualFlash = QSPI_DUALFLASH_DISABLE;
|
|
|
|
+ if (HAL_QSPI_Init(&hqspi) != HAL_OK)
|
|
|
|
+ {
|
|
|
|
+ Error_Handler();
|
|
|
|
+ }
|
|
|
|
+ /* USER CODE BEGIN QUADSPI_Init 2 */
|
|
|
|
+
|
|
|
|
+ /* USER CODE END QUADSPI_Init 2 */
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @brief RTC Initialization Function
|
|
* @brief RTC Initialization Function
|
|
* @param None
|
|
* @param None
|
|
@@ -524,6 +565,7 @@ static void MX_GPIO_Init(void)
|
|
__HAL_RCC_GPIOI_CLK_ENABLE();
|
|
__HAL_RCC_GPIOI_CLK_ENABLE();
|
|
__HAL_RCC_GPIOF_CLK_ENABLE();
|
|
__HAL_RCC_GPIOF_CLK_ENABLE();
|
|
__HAL_RCC_GPIOH_CLK_ENABLE();
|
|
__HAL_RCC_GPIOH_CLK_ENABLE();
|
|
|
|
+ __HAL_RCC_GPIOB_CLK_ENABLE();
|
|
__HAL_RCC_GPIOG_CLK_ENABLE();
|
|
__HAL_RCC_GPIOG_CLK_ENABLE();
|
|
__HAL_RCC_GPIOE_CLK_ENABLE();
|
|
__HAL_RCC_GPIOE_CLK_ENABLE();
|
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|
|
__HAL_RCC_GPIOD_CLK_ENABLE();
|