/* USER CODE BEGIN Header */ | |
/** | |
****************************************************************************** | |
* File Name : stm32l4xx_hal_msp.c | |
* Description : This file provides code for the MSP Initialization | |
* and de-Initialization codes. | |
****************************************************************************** | |
* @attention | |
* | |
* <h2><center>© Copyright (c) 2019 STMicroelectronics. | |
* All rights reserved.</center></h2> | |
* | |
* This software component is licensed by ST under BSD 3-Clause license, | |
* the "License"; You may not use this file except in compliance with the | |
* License. You may obtain a copy of the License at: | |
* opensource.org/licenses/BSD-3-Clause | |
* | |
****************************************************************************** | |
*/ | |
/* USER CODE END Header */ | |
/* Includes ------------------------------------------------------------------*/ | |
#include "main.h" | |
/* USER CODE BEGIN Includes */ | |
/* USER CODE END Includes */ | |
/* Private typedef -----------------------------------------------------------*/ | |
/* USER CODE BEGIN TD */ | |
/* USER CODE END TD */ | |
/* Private define ------------------------------------------------------------*/ | |
/* USER CODE BEGIN Define */ | |
/* USER CODE END Define */ | |
/* Private macro -------------------------------------------------------------*/ | |
/* USER CODE BEGIN Macro */ | |
/* USER CODE END Macro */ | |
/* Private variables ---------------------------------------------------------*/ | |
/* USER CODE BEGIN PV */ | |
/* USER CODE END PV */ | |
/* Private function prototypes -----------------------------------------------*/ | |
/* USER CODE BEGIN PFP */ | |
/* USER CODE END PFP */ | |
/* External functions --------------------------------------------------------*/ | |
/* USER CODE BEGIN ExternalFunctions */ | |
/* USER CODE END ExternalFunctions */ | |
/* USER CODE BEGIN 0 */ | |
/* USER CODE END 0 */ | |
/** | |
* Initializes the Global MSP. | |
*/ | |
void HAL_MspInit(void) | |
{ | |
/* USER CODE BEGIN MspInit 0 */ | |
/* USER CODE END MspInit 0 */ | |
__HAL_RCC_SYSCFG_CLK_ENABLE(); | |
__HAL_RCC_PWR_CLK_ENABLE(); | |
/* System interrupt init*/ | |
/* USER CODE BEGIN MspInit 1 */ | |
/* USER CODE END MspInit 1 */ | |
} | |
static uint32_t DFSDM1_Init = 0; | |
/** | |
* @brief DFSDM_Channel MSP Initialization | |
* This function configures the hardware resources used in this example | |
* @param hdfsdm_channel: DFSDM_Channel handle pointer | |
* @retval None | |
*/ | |
void HAL_DFSDM_ChannelMspInit(DFSDM_Channel_HandleTypeDef* hdfsdm_channel) | |
{ | |
GPIO_InitTypeDef GPIO_InitStruct = {0}; | |
if(DFSDM1_Init == 0) | |
{ | |
/* USER CODE BEGIN DFSDM1_MspInit 0 */ | |
/* USER CODE END DFSDM1_MspInit 0 */ | |
/* Peripheral clock enable */ | |
__HAL_RCC_DFSDM1_CLK_ENABLE(); | |
__HAL_RCC_GPIOE_CLK_ENABLE(); | |
/**DFSDM1 GPIO Configuration | |
PE7 ------> DFSDM1_DATIN2 | |
PE9 ------> DFSDM1_CKOUT | |
*/ | |
GPIO_InitStruct.Pin = DFSDM1_DATIN2_Pin|DFSDM1_CKOUT_Pin; | |
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
GPIO_InitStruct.Pull = GPIO_NOPULL; | |
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; | |
GPIO_InitStruct.Alternate = GPIO_AF6_DFSDM1; | |
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); | |
/* USER CODE BEGIN DFSDM1_MspInit 1 */ | |
/* USER CODE END DFSDM1_MspInit 1 */ | |
} | |
} | |
/** | |
* @brief DFSDM_Channel MSP De-Initialization | |
* This function freeze the hardware resources used in this example | |
* @param hdfsdm_channel: DFSDM_Channel handle pointer | |
* @retval None | |
*/ | |
void HAL_DFSDM_ChannelMspDeInit(DFSDM_Channel_HandleTypeDef* hdfsdm_channel) | |
{ | |
DFSDM1_Init-- ; | |
if(DFSDM1_Init == 0) | |
{ | |
/* USER CODE BEGIN DFSDM1_MspDeInit 0 */ | |
/* USER CODE END DFSDM1_MspDeInit 0 */ | |
/* Peripheral clock disable */ | |
__HAL_RCC_DFSDM1_CLK_DISABLE(); | |
/**DFSDM1 GPIO Configuration | |
PE7 ------> DFSDM1_DATIN2 | |
PE9 ------> DFSDM1_CKOUT | |
*/ | |
HAL_GPIO_DeInit(GPIOE, DFSDM1_DATIN2_Pin|DFSDM1_CKOUT_Pin); | |
/* USER CODE BEGIN DFSDM1_MspDeInit 1 */ | |
/* USER CODE END DFSDM1_MspDeInit 1 */ | |
} | |
} | |
/** | |
* @brief I2C MSP Initialization | |
* This function configures the hardware resources used in this example | |
* @param hi2c: I2C handle pointer | |
* @retval None | |
*/ | |
void HAL_I2C_MspInit(I2C_HandleTypeDef* hi2c) | |
{ | |
GPIO_InitTypeDef GPIO_InitStruct = {0}; | |
if(hi2c->Instance==I2C2) | |
{ | |
/* USER CODE BEGIN I2C2_MspInit 0 */ | |
/* USER CODE END I2C2_MspInit 0 */ | |
__HAL_RCC_GPIOB_CLK_ENABLE(); | |
/**I2C2 GPIO Configuration | |
PB10 ------> I2C2_SCL | |
PB11 ------> I2C2_SDA | |
*/ | |
GPIO_InitStruct.Pin = INTERNAL_I2C2_SCL_Pin|INTERNAL_I2C2_SDA_Pin; | |
GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; | |
GPIO_InitStruct.Pull = GPIO_PULLUP; | |
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; | |
GPIO_InitStruct.Alternate = GPIO_AF4_I2C2; | |
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); | |
/* Peripheral clock enable */ | |
__HAL_RCC_I2C2_CLK_ENABLE(); | |
/* USER CODE BEGIN I2C2_MspInit 1 */ | |
/* USER CODE END I2C2_MspInit 1 */ | |
} | |
} | |
/** | |
* @brief I2C MSP De-Initialization | |
* This function freeze the hardware resources used in this example | |
* @param hi2c: I2C handle pointer | |
* @retval None | |
*/ | |
void HAL_I2C_MspDeInit(I2C_HandleTypeDef* hi2c) | |
{ | |
if(hi2c->Instance==I2C2) | |
{ | |
/* USER CODE BEGIN I2C2_MspDeInit 0 */ | |
/* USER CODE END I2C2_MspDeInit 0 */ | |
/* Peripheral clock disable */ | |
__HAL_RCC_I2C2_CLK_DISABLE(); | |
/**I2C2 GPIO Configuration | |
PB10 ------> I2C2_SCL | |
PB11 ------> I2C2_SDA | |
*/ | |
HAL_GPIO_DeInit(GPIOB, INTERNAL_I2C2_SCL_Pin|INTERNAL_I2C2_SDA_Pin); | |
/* USER CODE BEGIN I2C2_MspDeInit 1 */ | |
/* USER CODE END I2C2_MspDeInit 1 */ | |
} | |
} | |
/** | |
* @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_GPIOE_CLK_ENABLE(); | |
/**QUADSPI GPIO Configuration | |
PE10 ------> QUADSPI_CLK | |
PE11 ------> QUADSPI_NCS | |
PE12 ------> QUADSPI_BK1_IO0 | |
PE13 ------> QUADSPI_BK1_IO1 | |
PE14 ------> QUADSPI_BK1_IO2 | |
PE15 ------> QUADSPI_BK1_IO3 | |
*/ | |
GPIO_InitStruct.Pin = QUADSPI_CLK_Pin|QUADSPI_NCS_Pin|OQUADSPI_BK1_IO0_Pin|QUADSPI_BK1_IO1_Pin | |
|QUAD_SPI_BK1_IO2_Pin|QUAD_SPI_BK1_IO3_Pin; | |
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(GPIOE, &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 | |
PE10 ------> QUADSPI_CLK | |
PE11 ------> QUADSPI_NCS | |
PE12 ------> QUADSPI_BK1_IO0 | |
PE13 ------> QUADSPI_BK1_IO1 | |
PE14 ------> QUADSPI_BK1_IO2 | |
PE15 ------> QUADSPI_BK1_IO3 | |
*/ | |
HAL_GPIO_DeInit(GPIOE, QUADSPI_CLK_Pin|QUADSPI_NCS_Pin|OQUADSPI_BK1_IO0_Pin|QUADSPI_BK1_IO1_Pin | |
|QUAD_SPI_BK1_IO2_Pin|QUAD_SPI_BK1_IO3_Pin); | |
/* USER CODE BEGIN QUADSPI_MspDeInit 1 */ | |
/* USER CODE END QUADSPI_MspDeInit 1 */ | |
} | |
} | |
/** | |
* @brief SPI MSP Initialization | |
* This function configures the hardware resources used in this example | |
* @param hspi: SPI handle pointer | |
* @retval None | |
*/ | |
void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi) | |
{ | |
GPIO_InitTypeDef GPIO_InitStruct = {0}; | |
if(hspi->Instance==SPI3) | |
{ | |
/* USER CODE BEGIN SPI3_MspInit 0 */ | |
/* USER CODE END SPI3_MspInit 0 */ | |
/* Peripheral clock enable */ | |
__HAL_RCC_SPI3_CLK_ENABLE(); | |
__HAL_RCC_GPIOC_CLK_ENABLE(); | |
/**SPI3 GPIO Configuration | |
PC10 ------> SPI3_SCK | |
PC11 ------> SPI3_MISO | |
PC12 ------> SPI3_MOSI | |
*/ | |
GPIO_InitStruct.Pin = INTERNAL_SPI3_SCK_Pin|INTERNAL_SPI3_MISO_Pin|INTERNAL_SPI3_MOSI_Pin; | |
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
GPIO_InitStruct.Pull = GPIO_NOPULL; | |
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; | |
GPIO_InitStruct.Alternate = GPIO_AF6_SPI3; | |
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); | |
/* USER CODE BEGIN SPI3_MspInit 1 */ | |
/* USER CODE END SPI3_MspInit 1 */ | |
} | |
} | |
/** | |
* @brief SPI MSP De-Initialization | |
* This function freeze the hardware resources used in this example | |
* @param hspi: SPI handle pointer | |
* @retval None | |
*/ | |
void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi) | |
{ | |
if(hspi->Instance==SPI3) | |
{ | |
/* USER CODE BEGIN SPI3_MspDeInit 0 */ | |
/* USER CODE END SPI3_MspDeInit 0 */ | |
/* Peripheral clock disable */ | |
__HAL_RCC_SPI3_CLK_DISABLE(); | |
/**SPI3 GPIO Configuration | |
PC10 ------> SPI3_SCK | |
PC11 ------> SPI3_MISO | |
PC12 ------> SPI3_MOSI | |
*/ | |
HAL_GPIO_DeInit(GPIOC, INTERNAL_SPI3_SCK_Pin|INTERNAL_SPI3_MISO_Pin|INTERNAL_SPI3_MOSI_Pin); | |
/* USER CODE BEGIN SPI3_MspDeInit 1 */ | |
/* USER CODE END SPI3_MspDeInit 1 */ | |
} | |
} | |
/** | |
* @brief UART MSP Initialization | |
* This function configures the hardware resources used in this example | |
* @param huart: UART handle pointer | |
* @retval None | |
*/ | |
void HAL_UART_MspInit(UART_HandleTypeDef* huart) | |
{ | |
GPIO_InitTypeDef GPIO_InitStruct = {0}; | |
if(huart->Instance==USART1) | |
{ | |
/* USER CODE BEGIN USART1_MspInit 0 */ | |
/* USER CODE END USART1_MspInit 0 */ | |
/* Peripheral clock enable */ | |
__HAL_RCC_USART1_CLK_ENABLE(); | |
__HAL_RCC_GPIOB_CLK_ENABLE(); | |
/**USART1 GPIO Configuration | |
PB6 ------> USART1_TX | |
PB7 ------> USART1_RX | |
*/ | |
GPIO_InitStruct.Pin = ST_LINK_UART1_TX_Pin|ST_LINK_UART1_RX_Pin; | |
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
GPIO_InitStruct.Pull = GPIO_NOPULL; | |
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; | |
GPIO_InitStruct.Alternate = GPIO_AF7_USART1; | |
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); | |
/* USER CODE BEGIN USART1_MspInit 1 */ | |
/* USER CODE END USART1_MspInit 1 */ | |
} | |
else if(huart->Instance==USART3) | |
{ | |
/* USER CODE BEGIN USART3_MspInit 0 */ | |
/* USER CODE END USART3_MspInit 0 */ | |
/* Peripheral clock enable */ | |
__HAL_RCC_USART3_CLK_ENABLE(); | |
__HAL_RCC_GPIOD_CLK_ENABLE(); | |
/**USART3 GPIO Configuration | |
PD8 ------> USART3_TX | |
PD9 ------> USART3_RX | |
*/ | |
GPIO_InitStruct.Pin = INTERNAL_UART3_TX_Pin|INTERNAL_UART3_RX_Pin; | |
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; | |
GPIO_InitStruct.Pull = GPIO_NOPULL; | |
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; | |
GPIO_InitStruct.Alternate = GPIO_AF7_USART3; | |
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); | |
/* USER CODE BEGIN USART3_MspInit 1 */ | |
/* USER CODE END USART3_MspInit 1 */ | |
} | |
} | |
/** | |
* @brief UART MSP De-Initialization | |
* This function freeze the hardware resources used in this example | |
* @param huart: UART handle pointer | |
* @retval None | |
*/ | |
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart) | |
{ | |
if(huart->Instance==USART1) | |
{ | |
/* USER CODE BEGIN USART1_MspDeInit 0 */ | |
/* USER CODE END USART1_MspDeInit 0 */ | |
/* Peripheral clock disable */ | |
__HAL_RCC_USART1_CLK_DISABLE(); | |
/**USART1 GPIO Configuration | |
PB6 ------> USART1_TX | |
PB7 ------> USART1_RX | |
*/ | |
HAL_GPIO_DeInit(GPIOB, ST_LINK_UART1_TX_Pin|ST_LINK_UART1_RX_Pin); | |
/* USER CODE BEGIN USART1_MspDeInit 1 */ | |
/* USER CODE END USART1_MspDeInit 1 */ | |
} | |
else if(huart->Instance==USART3) | |
{ | |
/* USER CODE BEGIN USART3_MspDeInit 0 */ | |
/* USER CODE END USART3_MspDeInit 0 */ | |
/* Peripheral clock disable */ | |
__HAL_RCC_USART3_CLK_DISABLE(); | |
/**USART3 GPIO Configuration | |
PD8 ------> USART3_TX | |
PD9 ------> USART3_RX | |
*/ | |
HAL_GPIO_DeInit(GPIOD, INTERNAL_UART3_TX_Pin|INTERNAL_UART3_RX_Pin); | |
/* USER CODE BEGIN USART3_MspDeInit 1 */ | |
/* USER CODE END USART3_MspDeInit 1 */ | |
} | |
} | |
/** | |
* @brief PCD MSP Initialization | |
* This function configures the hardware resources used in this example | |
* @param hpcd: PCD handle pointer | |
* @retval None | |
*/ | |
void HAL_PCD_MspInit(PCD_HandleTypeDef* hpcd) | |
{ | |
GPIO_InitTypeDef GPIO_InitStruct = {0}; | |
if(hpcd->Instance==USB_OTG_FS) | |
{ | |
/* USER CODE BEGIN USB_OTG_FS_MspInit 0 */ | |
/* USER CODE END USB_OTG_FS_MspInit 0 */ | |
__HAL_RCC_GPIOA_CLK_ENABLE(); | |
/**USB_OTG_FS GPIO Configuration | |
PA9 ------> USB_OTG_FS_VBUS | |
PA10 ------> USB_OTG_FS_ID | |
PA11 ------> USB_OTG_FS_DM | |
PA12 ------> USB_OTG_FS_DP | |
*/ | |
GPIO_InitStruct.Pin = USB_OTG_FS_VBUS_Pin; | |
GPIO_InitStruct.Mode = GPIO_MODE_INPUT; | |
GPIO_InitStruct.Pull = GPIO_NOPULL; | |
HAL_GPIO_Init(USB_OTG_FS_VBUS_GPIO_Port, &GPIO_InitStruct); | |
GPIO_InitStruct.Pin = USB_OTG_FS_ID_Pin|USB_OTG_FS_DM_Pin|USB_OTG_FS_DP_Pin; | |
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_OTG_FS; | |
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); | |
/* Peripheral clock enable */ | |
__HAL_RCC_USB_OTG_FS_CLK_ENABLE(); | |
/* Enable VDDUSB */ | |
if(__HAL_RCC_PWR_IS_CLK_DISABLED()) | |
{ | |
__HAL_RCC_PWR_CLK_ENABLE(); | |
HAL_PWREx_EnableVddUSB(); | |
__HAL_RCC_PWR_CLK_DISABLE(); | |
} | |
else | |
{ | |
HAL_PWREx_EnableVddUSB(); | |
} | |
/* USER CODE BEGIN USB_OTG_FS_MspInit 1 */ | |
/* USER CODE END USB_OTG_FS_MspInit 1 */ | |
} | |
} | |
/** | |
* @brief PCD MSP De-Initialization | |
* This function freeze the hardware resources used in this example | |
* @param hpcd: PCD handle pointer | |
* @retval None | |
*/ | |
void HAL_PCD_MspDeInit(PCD_HandleTypeDef* hpcd) | |
{ | |
if(hpcd->Instance==USB_OTG_FS) | |
{ | |
/* USER CODE BEGIN USB_OTG_FS_MspDeInit 0 */ | |
/* USER CODE END USB_OTG_FS_MspDeInit 0 */ | |
/* Peripheral clock disable */ | |
__HAL_RCC_USB_OTG_FS_CLK_DISABLE(); | |
/**USB_OTG_FS GPIO Configuration | |
PA9 ------> USB_OTG_FS_VBUS | |
PA10 ------> USB_OTG_FS_ID | |
PA11 ------> USB_OTG_FS_DM | |
PA12 ------> USB_OTG_FS_DP | |
*/ | |
HAL_GPIO_DeInit(GPIOA, USB_OTG_FS_VBUS_Pin|USB_OTG_FS_ID_Pin|USB_OTG_FS_DM_Pin|USB_OTG_FS_DP_Pin); | |
/* Disable VDDUSB */ | |
if(__HAL_RCC_PWR_IS_CLK_DISABLED()) | |
{ | |
__HAL_RCC_PWR_CLK_ENABLE(); | |
HAL_PWREx_DisableVddUSB(); | |
__HAL_RCC_PWR_CLK_DISABLE(); | |
} | |
else | |
{ | |
HAL_PWREx_DisableVddUSB(); | |
} | |
/* USER CODE BEGIN USB_OTG_FS_MspDeInit 1 */ | |
/* USER CODE END USB_OTG_FS_MspDeInit 1 */ | |
} | |
} | |
/* USER CODE BEGIN 1 */ | |
/* USER CODE END 1 */ | |
/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |