DAC.c

/**

******************************************************************************

* File Name : DAC.c

* Description : This file provides code for the configuration

* of the DAC instances.

******************************************************************************


*

******************************************************************************

*/


/* Includes ------------------------------------------------------------------*/

#include "dac.h"


/* USER CODE BEGIN 0 */


/* USER CODE END 0 */


DAC_HandleTypeDef hdac1;

DAC_HandleTypeDef hdac2;


/* DAC1 init function */

void MX_DAC1_Init(void)

{

DAC_ChannelConfTypeDef sConfig = {0};


/** DAC Initialization

*/

hdac1.Instance = DAC1;

if (HAL_DAC_Init(&hdac1) != HAL_OK)

{

Error_Handler();

}

/** DAC channel OUT2 config

*/

sConfig.DAC_Trigger = DAC_TRIGGER_NONE;

sConfig.DAC_OutputSwitch = DAC_OUTPUTSWITCH_ENABLE;

if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_2) != HAL_OK)

{

Error_Handler();

}


}

/* DAC2 init function */

void MX_DAC2_Init(void)

{

DAC_ChannelConfTypeDef sConfig = {0};


/** DAC Initialization

*/

hdac2.Instance = DAC2;

if (HAL_DAC_Init(&hdac2) != HAL_OK)

{

Error_Handler();

}

/** DAC channel OUT1 config

*/

sConfig.DAC_Trigger = DAC_TRIGGER_NONE;

sConfig.DAC_OutputSwitch = DAC_OUTPUTSWITCH_ENABLE;

if (HAL_DAC_ConfigChannel(&hdac2, &sConfig, DAC_CHANNEL_1) != HAL_OK)

{

Error_Handler();

}


}


void HAL_DAC_MspInit(DAC_HandleTypeDef* dacHandle)

{


GPIO_InitTypeDef GPIO_InitStruct = {0};

if(dacHandle->Instance==DAC1)

{

/* USER CODE BEGIN DAC1_MspInit 0 */


/* USER CODE END DAC1_MspInit 0 */

/* DAC1 clock enable */

__HAL_RCC_DAC1_CLK_ENABLE();


__HAL_RCC_GPIOA_CLK_ENABLE();

/**DAC1 GPIO Configuration

PA5 ------> DAC1_OUT2

*/

GPIO_InitStruct.Pin = GPIO_PIN_5;

GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;

GPIO_InitStruct.Pull = GPIO_NOPULL;

HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


/* DAC1 interrupt Init */

HAL_NVIC_SetPriority(TIM6_DAC1_IRQn, 0, 0);

HAL_NVIC_EnableIRQ(TIM6_DAC1_IRQn);

/* USER CODE BEGIN DAC1_MspInit 1 */


/* USER CODE END DAC1_MspInit 1 */

}

else if(dacHandle->Instance==DAC2)

{

/* USER CODE BEGIN DAC2_MspInit 0 */


/* USER CODE END DAC2_MspInit 0 */

/* DAC2 clock enable */

__HAL_RCC_DAC2_CLK_ENABLE();


__HAL_RCC_GPIOA_CLK_ENABLE();

/**DAC2 GPIO Configuration

PA6 ------> DAC2_OUT1

*/

GPIO_InitStruct.Pin = GPIO_PIN_6;

GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;

GPIO_InitStruct.Pull = GPIO_NOPULL;

HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


/* DAC2 interrupt Init */

HAL_NVIC_SetPriority(TIM7_DAC2_IRQn, 0, 0);

HAL_NVIC_EnableIRQ(TIM7_DAC2_IRQn);

/* USER CODE BEGIN DAC2_MspInit 1 */


/* USER CODE END DAC2_MspInit 1 */

}

}


void HAL_DAC_MspDeInit(DAC_HandleTypeDef* dacHandle)

{


if(dacHandle->Instance==DAC1)

{

/* USER CODE BEGIN DAC1_MspDeInit 0 */


/* USER CODE END DAC1_MspDeInit 0 */

/* Peripheral clock disable */

__HAL_RCC_DAC1_CLK_DISABLE();


/**DAC1 GPIO Configuration

PA5 ------> DAC1_OUT2

*/

HAL_GPIO_DeInit(GPIOA, GPIO_PIN_5);


/* DAC1 interrupt Deinit */

/* USER CODE BEGIN DAC1:TIM6_DAC1_IRQn disable */

/**

* Uncomment the line below to disable the "TIM6_DAC1_IRQn" interrupt

* Be aware, disabling shared interrupt may affect other IPs

*/

/* HAL_NVIC_DisableIRQ(TIM6_DAC1_IRQn); */

/* USER CODE END DAC1:TIM6_DAC1_IRQn disable */


/* USER CODE BEGIN DAC1_MspDeInit 1 */


/* USER CODE END DAC1_MspDeInit 1 */

}

else if(dacHandle->Instance==DAC2)

{

/* USER CODE BEGIN DAC2_MspDeInit 0 */


/* USER CODE END DAC2_MspDeInit 0 */

/* Peripheral clock disable */

__HAL_RCC_DAC2_CLK_DISABLE();


/**DAC2 GPIO Configuration

PA6 ------> DAC2_OUT1

*/

HAL_GPIO_DeInit(GPIOA, GPIO_PIN_6);


/* DAC2 interrupt Deinit */

/* USER CODE BEGIN DAC2:TIM7_DAC2_IRQn disable */

/**

* Uncomment the line below to disable the "TIM7_DAC2_IRQn" interrupt

* Be aware, disabling shared interrupt may affect other IPs

*/

/* HAL_NVIC_DisableIRQ(TIM7_DAC2_IRQn); */

/* USER CODE END DAC2:TIM7_DAC2_IRQn disable */


/* USER CODE BEGIN DAC2_MspDeInit 1 */


/* USER CODE END DAC2_MspDeInit 1 */

}

}


/* USER CODE BEGIN 1 */


/* USER CODE END 1 */


/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/