/Projects/STM32H745I-DISCO/Demonstrations/CM7/Src/stm32h7xx_hal_msp.c
https://github.com/STMicroelectronics/STM32CubeH7 · C · 167 lines · 44 code · 32 blank · 91 comment · 0 complexity · 520c2dc270f2177c3ac383198fa8c41d MD5 · raw file
- /**
- ******************************************************************************
- * @file Demonstration/STM32H745-Discovery_Demo/CM7/Src/stm32h7xx_hal_msp.c
- * @author MCD Application Team
- * @brief HAL MSP module.
- ******************************************************************************
- * @attention
- *
- * <h2><center>© Copyright (c) 2018 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
- *
- ******************************************************************************
- */
- /* Includes ------------------------------------------------------------------*/
- #include "main_oscillo_cm7.h"
- /** @addtogroup STM32H7xx_HAL_Demonstration
- * @{
- */
- /** @addtogroup Oscilloscope_SignalsGenerator
- * @{
- */
- /* Private typedef -----------------------------------------------------------*/
- extern DMA_HandleTypeDef DmaHandle;
- /* Private define ------------------------------------------------------------*/
- /* Private macro -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- /* Private function prototypes -----------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
- /** @defgroup HAL_MSP_Private_Functions
- * @{
- */
- /**
- * @brief ADC MSP Init
- * @param hadc : ADC handle
- * @retval None
- */
- /*####### 1- TIM Initialization #################################*/
- void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim)
- {
- TIMx_CLK_ENABLE();
- }
- /*####### 2- TIM De-Initialization ##############################*/
- /**
- * @brief TIM MSP De-Initialization
- * This function frees the hardware resources used in this example:
- * - Disable the Peripheral's clock
- * - Revert GPIO to their default state
- * @param htim: TIM handle pointer
- * @retval None
- */
- void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim)
- {
- /*##-1- Reset peripherals ##################################################*/
- __HAL_RCC_TIMx_FORCE_RESET();
- __HAL_RCC_TIMx_RELEASE_RESET();
- }
- /**
- * @brief DAC MSP Initialization
- * This function configures the hardware resources used in this example:
- * - Peripheral's clock enable
- * - Peripheral's GPIO Configuration
- * @param hdac: DAC handle pointer
- * @retval None
- */
- void HAL_DAC_MspInit(DAC_HandleTypeDef *hdac)
- {
- GPIO_InitTypeDef GPIO_InitStruct;
- static DMA_HandleTypeDef hdma_dac1;
- /*##-1- Enable peripherals and GPIO Clocks #################################*/
- /* Enable GPIO clock ****************************************/
- DACx_CHANNEL_GPIO_CLK_ENABLE();
- /* DAC Periph clock enable */
- DACx_CLK_ENABLE();
- /* DMA1 clock enable */
- DMAx_CLK_ENABLE();
- /*##-2- Configure peripheral GPIO ##########################################*/
- /* DAC Channel1 GPIO pin configuration */
- GPIO_InitStruct.Pin = DACx_CHANNEL_PIN;
- GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
- GPIO_InitStruct.Pull = GPIO_NOPULL;
- HAL_GPIO_Init(DACx_CHANNEL_GPIO_PORT, &GPIO_InitStruct);
- /*##-3- Configure the DMA ##########################################*/
- /* Set the parameters to be configured for DACx_DMA_STREAM */
- hdma_dac1.Instance = DACx_DMA_INSTANCE;
- hdma_dac1.Init.Request = DMA_REQUEST_DAC1;
- hdma_dac1.Init.Direction = DMA_MEMORY_TO_PERIPH;
- hdma_dac1.Init.PeriphInc = DMA_PINC_DISABLE;
- hdma_dac1.Init.MemInc = DMA_MINC_ENABLE;
- hdma_dac1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
- hdma_dac1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
- hdma_dac1.Init.Mode = DMA_CIRCULAR;
- hdma_dac1.Init.Priority = DMA_PRIORITY_HIGH;
- HAL_DMA_Init(&hdma_dac1);
- /* Associate the initialized DMA handle to the DAC handle */
- __HAL_LINKDMA(hdac, DMA_Handle1, hdma_dac1);
- /*##-4- Configure the NVIC for DMA #########################################*/
- /* Enable the DMA1_Stream5 IRQ Channel */
- HAL_NVIC_SetPriority(DACx_DMA_IRQn, 2, 0);
- HAL_NVIC_EnableIRQ(DACx_DMA_IRQn);
- }
- /**
- * @brief DeInitializes the DAC MSP.
- * @param hdac: pointer to a DAC_HandleTypeDef structure that contains
- * the configuration information for the specified DAC.
- * @retval None
- */
- void HAL_DAC_MspDeInit(DAC_HandleTypeDef *hdac)
- {
- /*##-1- Reset peripherals ##################################################*/
- DACx_FORCE_RESET();
- DACx_RELEASE_RESET();
- /*##-2- Disable peripherals and GPIO Clocks ################################*/
- /* De-initialize the DAC Channel1 GPIO pin */
- HAL_GPIO_DeInit(DACx_CHANNEL_GPIO_PORT, DACx_CHANNEL_PIN);
- /*##-3- Disable the DMA Stream ############################################*/
- /* De-Initialize the DMA Stream associate to DAC_Channel1 */
- HAL_DMA_DeInit(hdac->DMA_Handle1);
- /*##-4- Disable the NVIC for DMA ###########################################*/
- HAL_NVIC_DisableIRQ(DACx_DMA_IRQn);
- }
- /**
- * @}
- */
- /**
- * @}
- */
- /**
- * @}
- */
- /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/