|
@@ -277,6 +277,103 @@ void HAL_LTDC_MspDeInit(LTDC_HandleTypeDef* hltdc)
|
|
|
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+* @brief QSPI MSP Initialization
|
|
|
+* This function configures the hardware resources used in this example
|
|
|
+* @param hqspi: QSPI handle pointer
|
|
|
+* @retval None
|
|
|
+*/
|
|
|
+void HAL_QSPI_MspInit(QSPI_HandleTypeDef* hqspi)
|
|
|
+{
|
|
|
+ GPIO_InitTypeDef GPIO_InitStruct = {0};
|
|
|
+ if(hqspi->Instance==QUADSPI)
|
|
|
+ {
|
|
|
+ /* USER CODE BEGIN QUADSPI_MspInit 0 */
|
|
|
+
|
|
|
+ /* USER CODE END QUADSPI_MspInit 0 */
|
|
|
+ /* Peripheral clock enable */
|
|
|
+ __HAL_RCC_QSPI_CLK_ENABLE();
|
|
|
+
|
|
|
+ __HAL_RCC_GPIOF_CLK_ENABLE();
|
|
|
+ __HAL_RCC_GPIOB_CLK_ENABLE();
|
|
|
+ /**QUADSPI GPIO Configuration
|
|
|
+ PF6 ------> QUADSPI_BK1_IO3
|
|
|
+ PF7 ------> QUADSPI_BK1_IO2
|
|
|
+ PF8 ------> QUADSPI_BK1_IO0
|
|
|
+ PF9 ------> QUADSPI_BK1_IO1
|
|
|
+ PB2 ------> QUADSPI_CLK
|
|
|
+ PB6 ------> QUADSPI_BK1_NCS
|
|
|
+ */
|
|
|
+ GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
|
|
|
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
|
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
|
+ GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
|
|
|
+ HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
|
|
+
|
|
|
+ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
|
|
|
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
|
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
|
+ GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
|
|
|
+ HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
|
|
+
|
|
|
+ GPIO_InitStruct.Pin = GPIO_PIN_2;
|
|
|
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
|
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
|
+ GPIO_InitStruct.Alternate = GPIO_AF9_QUADSPI;
|
|
|
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
|
+
|
|
|
+ GPIO_InitStruct.Pin = GPIO_PIN_6;
|
|
|
+ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
|
+ GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
|
+ GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
|
+ GPIO_InitStruct.Alternate = GPIO_AF10_QUADSPI;
|
|
|
+ HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
|
|
+
|
|
|
+ /* USER CODE BEGIN QUADSPI_MspInit 1 */
|
|
|
+
|
|
|
+ /* USER CODE END QUADSPI_MspInit 1 */
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/**
|
|
|
+* @brief QSPI MSP De-Initialization
|
|
|
+* This function freeze the hardware resources used in this example
|
|
|
+* @param hqspi: QSPI handle pointer
|
|
|
+* @retval None
|
|
|
+*/
|
|
|
+void HAL_QSPI_MspDeInit(QSPI_HandleTypeDef* hqspi)
|
|
|
+{
|
|
|
+ if(hqspi->Instance==QUADSPI)
|
|
|
+ {
|
|
|
+ /* USER CODE BEGIN QUADSPI_MspDeInit 0 */
|
|
|
+
|
|
|
+ /* USER CODE END QUADSPI_MspDeInit 0 */
|
|
|
+ /* Peripheral clock disable */
|
|
|
+ __HAL_RCC_QSPI_CLK_DISABLE();
|
|
|
+
|
|
|
+ /**QUADSPI GPIO Configuration
|
|
|
+ PF6 ------> QUADSPI_BK1_IO3
|
|
|
+ PF7 ------> QUADSPI_BK1_IO2
|
|
|
+ PF8 ------> QUADSPI_BK1_IO0
|
|
|
+ PF9 ------> QUADSPI_BK1_IO1
|
|
|
+ PB2 ------> QUADSPI_CLK
|
|
|
+ PB6 ------> QUADSPI_BK1_NCS
|
|
|
+ */
|
|
|
+ HAL_GPIO_DeInit(GPIOF, GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9);
|
|
|
+
|
|
|
+ HAL_GPIO_DeInit(GPIOB, GPIO_PIN_2|GPIO_PIN_6);
|
|
|
+
|
|
|
+ /* USER CODE BEGIN QUADSPI_MspDeInit 1 */
|
|
|
+
|
|
|
+ /* USER CODE END QUADSPI_MspDeInit 1 */
|
|
|
+ }
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
/**
|
|
|
* @brief RTC MSP Initialization
|
|
|
* This function configures the hardware resources used in this example
|