| /* USER CODE BEGIN Header */ |
| /** |
| ****************************************************************************** |
| * File Name : stm32f4xx_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 Ultimate Liberty license |
| * SLA0044, the "License"; You may not use this file except in compliance with |
| * the License. You may obtain a copy of the License at: |
| * www.st.com/SLA0044 |
| * |
| ****************************************************************************** |
| */ |
| /* 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(); |
| |
| HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_0); |
| |
| /* System interrupt init*/ |
| |
| /* USER CODE BEGIN MspInit 1 */ |
| |
| /* USER CODE END MspInit 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==I2C1) |
| { |
| /* USER CODE BEGIN I2C1_MspInit 0 */ |
| |
| /* USER CODE END I2C1_MspInit 0 */ |
| |
| __HAL_RCC_GPIOB_CLK_ENABLE(); |
| /**I2C1 GPIO Configuration |
| PB6 ------> I2C1_SCL |
| PB9 ------> I2C1_SDA |
| */ |
| GPIO_InitStruct.Pin = Audio_SCL_Pin|Audio_SDA_Pin; |
| GPIO_InitStruct.Mode = GPIO_MODE_AF_OD; |
| GPIO_InitStruct.Pull = GPIO_PULLUP; |
| GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
| GPIO_InitStruct.Alternate = GPIO_AF4_I2C1; |
| HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); |
| |
| /* Peripheral clock enable */ |
| __HAL_RCC_I2C1_CLK_ENABLE(); |
| /* USER CODE BEGIN I2C1_MspInit 1 */ |
| |
| /* USER CODE END I2C1_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==I2C1) |
| { |
| /* USER CODE BEGIN I2C1_MspDeInit 0 */ |
| |
| /* USER CODE END I2C1_MspDeInit 0 */ |
| /* Peripheral clock disable */ |
| __HAL_RCC_I2C1_CLK_DISABLE(); |
| |
| /**I2C1 GPIO Configuration |
| PB6 ------> I2C1_SCL |
| PB9 ------> I2C1_SDA |
| */ |
| HAL_GPIO_DeInit(GPIOB, Audio_SCL_Pin|Audio_SDA_Pin); |
| |
| /* USER CODE BEGIN I2C1_MspDeInit 1 */ |
| |
| /* USER CODE END I2C1_MspDeInit 1 */ |
| } |
| |
| } |
| |
| /** |
| * @brief I2S MSP Initialization |
| * This function configures the hardware resources used in this example |
| * @param hi2s: I2S handle pointer |
| * @retval None |
| */ |
| void HAL_I2S_MspInit(I2S_HandleTypeDef* hi2s) |
| { |
| GPIO_InitTypeDef GPIO_InitStruct = {0}; |
| if(hi2s->Instance==SPI3) |
| { |
| /* USER CODE BEGIN SPI3_MspInit 0 */ |
| |
| /* USER CODE END SPI3_MspInit 0 */ |
| /* Peripheral clock enable */ |
| __HAL_RCC_SPI3_CLK_ENABLE(); |
| |
| __HAL_RCC_GPIOA_CLK_ENABLE(); |
| __HAL_RCC_GPIOC_CLK_ENABLE(); |
| /**I2S3 GPIO Configuration |
| PA4 ------> I2S3_WS |
| PC7 ------> I2S3_MCK |
| PC10 ------> I2S3_CK |
| PC12 ------> I2S3_SD |
| */ |
| GPIO_InitStruct.Pin = I2S3_WS_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_SPI3; |
| HAL_GPIO_Init(I2S3_WS_GPIO_Port, &GPIO_InitStruct); |
| |
| GPIO_InitStruct.Pin = I2S3_MCK_Pin|I2S3_SCK_Pin|I2S3_SD_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_SPI3; |
| HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); |
| |
| /* USER CODE BEGIN SPI3_MspInit 1 */ |
| |
| /* USER CODE END SPI3_MspInit 1 */ |
| } |
| |
| } |
| |
| /** |
| * @brief I2S MSP De-Initialization |
| * This function freeze the hardware resources used in this example |
| * @param hi2s: I2S handle pointer |
| * @retval None |
| */ |
| void HAL_I2S_MspDeInit(I2S_HandleTypeDef* hi2s) |
| { |
| if(hi2s->Instance==SPI3) |
| { |
| /* USER CODE BEGIN SPI3_MspDeInit 0 */ |
| |
| /* USER CODE END SPI3_MspDeInit 0 */ |
| /* Peripheral clock disable */ |
| __HAL_RCC_SPI3_CLK_DISABLE(); |
| |
| /**I2S3 GPIO Configuration |
| PA4 ------> I2S3_WS |
| PC7 ------> I2S3_MCK |
| PC10 ------> I2S3_CK |
| PC12 ------> I2S3_SD |
| */ |
| HAL_GPIO_DeInit(I2S3_WS_GPIO_Port, I2S3_WS_Pin); |
| |
| HAL_GPIO_DeInit(GPIOC, I2S3_MCK_Pin|I2S3_SCK_Pin|I2S3_SD_Pin); |
| |
| /* USER CODE BEGIN SPI3_MspDeInit 1 */ |
| |
| /* USER CODE END SPI3_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==SPI1) |
| { |
| /* USER CODE BEGIN SPI1_MspInit 0 */ |
| |
| /* USER CODE END SPI1_MspInit 0 */ |
| /* Peripheral clock enable */ |
| __HAL_RCC_SPI1_CLK_ENABLE(); |
| |
| __HAL_RCC_GPIOA_CLK_ENABLE(); |
| /**SPI1 GPIO Configuration |
| PA5 ------> SPI1_SCK |
| PA6 ------> SPI1_MISO |
| PA7 ------> SPI1_MOSI |
| */ |
| GPIO_InitStruct.Pin = SPI1_SCK_Pin|SPI1_MISO_Pin|SPI1_MOSI_Pin; |
| GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; |
| GPIO_InitStruct.Pull = GPIO_NOPULL; |
| GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; |
| GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; |
| HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); |
| |
| /* USER CODE BEGIN SPI1_MspInit 1 */ |
| |
| /* USER CODE END SPI1_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==SPI1) |
| { |
| /* USER CODE BEGIN SPI1_MspDeInit 0 */ |
| |
| /* USER CODE END SPI1_MspDeInit 0 */ |
| /* Peripheral clock disable */ |
| __HAL_RCC_SPI1_CLK_DISABLE(); |
| |
| /**SPI1 GPIO Configuration |
| PA5 ------> SPI1_SCK |
| PA6 ------> SPI1_MISO |
| PA7 ------> SPI1_MOSI |
| */ |
| HAL_GPIO_DeInit(GPIOA, SPI1_SCK_Pin|SPI1_MISO_Pin|SPI1_MOSI_Pin); |
| |
| /* USER CODE BEGIN SPI1_MspDeInit 1 */ |
| |
| /* USER CODE END SPI1_MspDeInit 1 */ |
| } |
| |
| } |
| |
| /* USER CODE BEGIN 1 */ |
| |
| /* USER CODE END 1 */ |
| |
| /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ |