source: trunk/firmware/CubeMX/Src/dac.c@ 10

Last change on this file since 10 was 1, checked in by f.jahn, 3 years ago
File size: 3.9 KB
Line 
1/* USER CODE BEGIN Header */
2/**
3 ******************************************************************************
4 * @file dac.c
5 * @brief This file provides code for the configuration
6 * of the DAC instances.
7 ******************************************************************************
8 * @attention
9 *
10 * Copyright (c) 2022 STMicroelectronics.
11 * All rights reserved.
12 *
13 * This software is licensed under terms that can be found in the LICENSE file
14 * in the root directory of this software component.
15 * If no LICENSE file comes with this software, it is provided AS-IS.
16 *
17 ******************************************************************************
18 */
19/* USER CODE END Header */
20/* Includes ------------------------------------------------------------------*/
21#include "dac.h"
22
23/* USER CODE BEGIN 0 */
24
25/* USER CODE END 0 */
26
27DAC_HandleTypeDef hdac1;
28
29/* DAC1 init function */
30void MX_DAC1_Init(void)
31{
32
33 /* USER CODE BEGIN DAC1_Init 0 */
34
35 /* USER CODE END DAC1_Init 0 */
36
37 DAC_ChannelConfTypeDef sConfig = {0};
38
39 /* USER CODE BEGIN DAC1_Init 1 */
40
41 /* USER CODE END DAC1_Init 1 */
42
43 /** DAC Initialization
44 */
45 hdac1.Instance = DAC1;
46 if (HAL_DAC_Init(&hdac1) != HAL_OK)
47 {
48 Error_Handler();
49 }
50
51 /** DAC channel OUT1 config
52 */
53 sConfig.DAC_SampleAndHold = DAC_SAMPLEANDHOLD_DISABLE;
54 sConfig.DAC_Trigger = DAC_TRIGGER_NONE;
55 sConfig.DAC_OutputBuffer = DAC_OUTPUTBUFFER_ENABLE;
56 sConfig.DAC_ConnectOnChipPeripheral = DAC_CHIPCONNECT_DISABLE;
57 sConfig.DAC_UserTrimming = DAC_TRIMMING_FACTORY;
58 if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_1) != HAL_OK)
59 {
60 Error_Handler();
61 }
62
63 /** DAC channel OUT2 config
64 */
65 if (HAL_DAC_ConfigChannel(&hdac1, &sConfig, DAC_CHANNEL_2) != HAL_OK)
66 {
67 Error_Handler();
68 }
69 /* USER CODE BEGIN DAC1_Init 2 */
70 //HAL_DACEx_SelfCalibrate(&hdac1, &sConfig, DAC_CHANNEL_1);
71 //HAL_DACEx_SelfCalibrate(&hdac1, &sConfig, DAC_CHANNEL_2);
72 //HAL_DACEx_SetUserTrimming(&hdac1, &sConfig, DAC_CHANNEL_1, 31);
73 //HAL_DACEx_SetUserTrimming(&hdac1, &sConfig, DAC_CHANNEL_2, 31);
74 /* USER CODE END DAC1_Init 2 */
75
76}
77
78void HAL_DAC_MspInit(DAC_HandleTypeDef* dacHandle)
79{
80
81 GPIO_InitTypeDef GPIO_InitStruct = {0};
82 if(dacHandle->Instance==DAC1)
83 {
84 /* USER CODE BEGIN DAC1_MspInit 0 */
85
86 /* USER CODE END DAC1_MspInit 0 */
87 /* DAC1 clock enable */
88 __HAL_RCC_DAC1_CLK_ENABLE();
89
90 __HAL_RCC_GPIOA_CLK_ENABLE();
91 /**DAC1 GPIO Configuration
92 PA4 ------> DAC1_OUT1
93 PA5 ------> DAC1_OUT2
94 */
95 GPIO_InitStruct.Pin = DAC_A_Pin|DAC_B_Pin;
96 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
97 GPIO_InitStruct.Pull = GPIO_NOPULL;
98 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
99
100 /* DAC1 interrupt Init */
101 HAL_NVIC_SetPriority(TIM6_DAC_LPTIM1_IRQn, 3, 0);
102 HAL_NVIC_EnableIRQ(TIM6_DAC_LPTIM1_IRQn);
103 /* USER CODE BEGIN DAC1_MspInit 1 */
104
105 /* USER CODE END DAC1_MspInit 1 */
106 }
107}
108
109void HAL_DAC_MspDeInit(DAC_HandleTypeDef* dacHandle)
110{
111
112 if(dacHandle->Instance==DAC1)
113 {
114 /* USER CODE BEGIN DAC1_MspDeInit 0 */
115
116 /* USER CODE END DAC1_MspDeInit 0 */
117 /* Peripheral clock disable */
118 __HAL_RCC_DAC1_CLK_DISABLE();
119
120 /**DAC1 GPIO Configuration
121 PA4 ------> DAC1_OUT1
122 PA5 ------> DAC1_OUT2
123 */
124 HAL_GPIO_DeInit(GPIOA, DAC_A_Pin|DAC_B_Pin);
125
126 /* DAC1 interrupt Deinit */
127 /* USER CODE BEGIN DAC1:TIM6_DAC_LPTIM1_IRQn disable */
128 /**
129 * Uncomment the line below to disable the "TIM6_DAC_LPTIM1_IRQn" interrupt
130 * Be aware, disabling shared interrupt may affect other IPs
131 */
132 /* HAL_NVIC_DisableIRQ(TIM6_DAC_LPTIM1_IRQn); */
133 /* USER CODE END DAC1:TIM6_DAC_LPTIM1_IRQn disable */
134
135 /* USER CODE BEGIN DAC1_MspDeInit 1 */
136
137 /* USER CODE END DAC1_MspDeInit 1 */
138 }
139}
140
141/* USER CODE BEGIN 1 */
142
143/* USER CODE END 1 */
Note: See TracBrowser for help on using the repository browser.