Files
BrushedPIDDriver/Firmware/Core/Src/dac.c
2025-11-30 18:40:38 -03:00

114 lines
2.8 KiB
C

/* USER CODE BEGIN Header */
/**
******************************************************************************
* @file dac.c
* @brief This file provides code for the configuration
* of the DAC instances.
******************************************************************************
* @attention
*
* Copyright (c) 2025 STMicroelectronics.
* All rights reserved.
*
* This software is licensed under terms that can be found in the LICENSE file
* in the root directory of this software component.
* If no LICENSE file comes with this software, it is provided AS-IS.
*
******************************************************************************
*/
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "dac.h"
/* USER CODE BEGIN 0 */
/* USER CODE END 0 */
DAC_HandleTypeDef hdac4;
/* DAC4 init function */
void MX_DAC4_Init(void)
{
/* USER CODE BEGIN DAC4_Init 0 */
/* USER CODE END DAC4_Init 0 */
DAC_ChannelConfTypeDef sConfig = {0};
/* USER CODE BEGIN DAC4_Init 1 */
/* USER CODE END DAC4_Init 1 */
/** DAC Initialization
*/
hdac4.Instance = DAC4;
if (HAL_DAC_Init(&hdac4) != HAL_OK)
{
Error_Handler();
}
/** DAC channel OUT1 config
*/
sConfig.DAC_HighFrequency = DAC_HIGH_FREQUENCY_INTERFACE_MODE_AUTOMATIC;
sConfig.DAC_DMADoubleDataMode = DISABLE;
sConfig.DAC_SignedFormat = DISABLE;
sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE;
sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
sConfig.DAC_Trigger2 = DAC_TRIGGER_NONE;
sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_DISABLE;
sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_INTERNAL;
sConfig.DAC_UserTrimming = DAC_TRIMMING_FACTORY;
if (HAL_DAC_ConfigChannel(&hdac4, &sConfig, DAC_CHANNEL_1) != HAL_OK)
{
Error_Handler();
}
/** DAC channel OUT2 config
*/
if (HAL_DAC_ConfigChannel(&hdac4, &sConfig, DAC_CHANNEL_2) != HAL_OK)
{
Error_Handler();
}
/* USER CODE BEGIN DAC4_Init 2 */
/* USER CODE END DAC4_Init 2 */
}
void HAL_DAC_MspInit(DAC_HandleTypeDef* dacHandle)
{
if(dacHandle->Instance==DAC4)
{
/* USER CODE BEGIN DAC4_MspInit 0 */
/* USER CODE END DAC4_MspInit 0 */
/* DAC4 clock enable */
__HAL_RCC_DAC4_CLK_ENABLE();
/* USER CODE BEGIN DAC4_MspInit 1 */
/* USER CODE END DAC4_MspInit 1 */
}
}
void HAL_DAC_MspDeInit(DAC_HandleTypeDef* dacHandle)
{
if(dacHandle->Instance==DAC4)
{
/* USER CODE BEGIN DAC4_MspDeInit 0 */
/* USER CODE END DAC4_MspDeInit 0 */
/* Peripheral clock disable */
__HAL_RCC_DAC4_CLK_DISABLE();
/* USER CODE BEGIN DAC4_MspDeInit 1 */
/* USER CODE END DAC4_MspDeInit 1 */
}
}
/* USER CODE BEGIN 1 */
/* USER CODE END 1 */