STM CMSIS
stm32f4xx_hal_dac_ex.h
1 
38 /* Define to prevent recursive inclusion -------------------------------------*/
39 #ifndef __STM32F4xx_HAL_DAC_EX_H
40 #define __STM32F4xx_HAL_DAC_EX_H
41 
42 #ifdef __cplusplus
43  extern "C" {
44 #endif
45 
46 #if defined(STM32F405xx) || defined(STM32F415xx) || defined(STM32F407xx) || defined(STM32F417xx) ||\
47  defined(STM32F427xx) || defined(STM32F437xx) || defined(STM32F429xx) || defined(STM32F439xx) ||\
48  defined(STM32F410Tx) || defined(STM32F410Cx) || defined(STM32F410Rx) || defined(STM32F446xx) ||\
49  defined(STM32F469xx) || defined(STM32F479xx)
50 
51 /* Includes ------------------------------------------------------------------*/
52 #include "stm32f4xx_hal_def.h"
53 
62 /* Exported types ------------------------------------------------------------*/
63 /* Exported constants --------------------------------------------------------*/
71 #define DAC_LFSRUNMASK_BIT0 ((uint32_t)0x00000000U)
72 #define DAC_LFSRUNMASK_BITS1_0 ((uint32_t)DAC_CR_MAMP1_0)
73 #define DAC_LFSRUNMASK_BITS2_0 ((uint32_t)DAC_CR_MAMP1_1)
74 #define DAC_LFSRUNMASK_BITS3_0 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
75 #define DAC_LFSRUNMASK_BITS4_0 ((uint32_t)DAC_CR_MAMP1_2)
76 #define DAC_LFSRUNMASK_BITS5_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0)
77 #define DAC_LFSRUNMASK_BITS6_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1)
78 #define DAC_LFSRUNMASK_BITS7_0 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
79 #define DAC_LFSRUNMASK_BITS8_0 ((uint32_t)DAC_CR_MAMP1_3)
80 #define DAC_LFSRUNMASK_BITS9_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0)
81 #define DAC_LFSRUNMASK_BITS10_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1)
82 #define DAC_LFSRUNMASK_BITS11_0 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
83 #define DAC_TRIANGLEAMPLITUDE_1 ((uint32_t)0x00000000U)
84 #define DAC_TRIANGLEAMPLITUDE_3 ((uint32_t)DAC_CR_MAMP1_0)
85 #define DAC_TRIANGLEAMPLITUDE_7 ((uint32_t)DAC_CR_MAMP1_1)
86 #define DAC_TRIANGLEAMPLITUDE_15 ((uint32_t)DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
87 #define DAC_TRIANGLEAMPLITUDE_31 ((uint32_t)DAC_CR_MAMP1_2)
88 #define DAC_TRIANGLEAMPLITUDE_63 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_0)
89 #define DAC_TRIANGLEAMPLITUDE_127 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1)
90 #define DAC_TRIANGLEAMPLITUDE_255 ((uint32_t)DAC_CR_MAMP1_2 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
91 #define DAC_TRIANGLEAMPLITUDE_511 ((uint32_t)DAC_CR_MAMP1_3)
92 #define DAC_TRIANGLEAMPLITUDE_1023 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_0)
93 #define DAC_TRIANGLEAMPLITUDE_2047 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1)
94 #define DAC_TRIANGLEAMPLITUDE_4095 ((uint32_t)DAC_CR_MAMP1_3 | DAC_CR_MAMP1_1 | DAC_CR_MAMP1_0)
103 /* Exported macro ------------------------------------------------------------*/
104 /* Exported functions --------------------------------------------------------*/
112 /* Extension features functions ***********************************************/
113 uint32_t HAL_DACEx_DualGetValue(DAC_HandleTypeDef* hdac);
114 HAL_StatusTypeDef HAL_DACEx_TriangleWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
115 HAL_StatusTypeDef HAL_DACEx_NoiseWaveGenerate(DAC_HandleTypeDef* hdac, uint32_t Channel, uint32_t Amplitude);
116 HAL_StatusTypeDef HAL_DACEx_DualSetValue(DAC_HandleTypeDef* hdac, uint32_t Alignment, uint32_t Data1, uint32_t Data2);
117 
118 void HAL_DACEx_ConvCpltCallbackCh2(DAC_HandleTypeDef* hdac);
119 void HAL_DACEx_ConvHalfCpltCallbackCh2(DAC_HandleTypeDef* hdac);
120 void HAL_DACEx_ErrorCallbackCh2(DAC_HandleTypeDef* hdac);
121 void HAL_DACEx_DMAUnderrunCallbackCh2(DAC_HandleTypeDef* hdac);
129 /* Private types -------------------------------------------------------------*/
130 /* Private variables ---------------------------------------------------------*/
131 /* Private constants ---------------------------------------------------------*/
140 /* Private macros ------------------------------------------------------------*/
144 #define IS_DAC_LFSR_UNMASK_TRIANGLE_AMPLITUDE(VALUE) (((VALUE) == DAC_LFSRUNMASK_BIT0) || \
145  ((VALUE) == DAC_LFSRUNMASK_BITS1_0) || \
146  ((VALUE) == DAC_LFSRUNMASK_BITS2_0) || \
147  ((VALUE) == DAC_LFSRUNMASK_BITS3_0) || \
148  ((VALUE) == DAC_LFSRUNMASK_BITS4_0) || \
149  ((VALUE) == DAC_LFSRUNMASK_BITS5_0) || \
150  ((VALUE) == DAC_LFSRUNMASK_BITS6_0) || \
151  ((VALUE) == DAC_LFSRUNMASK_BITS7_0) || \
152  ((VALUE) == DAC_LFSRUNMASK_BITS8_0) || \
153  ((VALUE) == DAC_LFSRUNMASK_BITS9_0) || \
154  ((VALUE) == DAC_LFSRUNMASK_BITS10_0) || \
155  ((VALUE) == DAC_LFSRUNMASK_BITS11_0) || \
156  ((VALUE) == DAC_TRIANGLEAMPLITUDE_1) || \
157  ((VALUE) == DAC_TRIANGLEAMPLITUDE_3) || \
158  ((VALUE) == DAC_TRIANGLEAMPLITUDE_7) || \
159  ((VALUE) == DAC_TRIANGLEAMPLITUDE_15) || \
160  ((VALUE) == DAC_TRIANGLEAMPLITUDE_31) || \
161  ((VALUE) == DAC_TRIANGLEAMPLITUDE_63) || \
162  ((VALUE) == DAC_TRIANGLEAMPLITUDE_127) || \
163  ((VALUE) == DAC_TRIANGLEAMPLITUDE_255) || \
164  ((VALUE) == DAC_TRIANGLEAMPLITUDE_511) || \
165  ((VALUE) == DAC_TRIANGLEAMPLITUDE_1023) || \
166  ((VALUE) == DAC_TRIANGLEAMPLITUDE_2047) || \
167  ((VALUE) == DAC_TRIANGLEAMPLITUDE_4095))
168 
172 /* Private functions ---------------------------------------------------------*/
176 void DAC_DMAConvCpltCh2(DMA_HandleTypeDef *hdma);
177 void DAC_DMAErrorCh2(DMA_HandleTypeDef *hdma);
178 void DAC_DMAHalfConvCpltCh2(DMA_HandleTypeDef *hdma);
182 #endif /* STM32F405xx || STM32F415xx || STM32F407xx || STM32F417xx ||\
183  STM32F427xx || STM32F437xx || STM32F429xx || STM32F439xx ||\
184  STM32F410xx || STM32F446xx || STM32F469xx || STM32F479xx */
185 
194 #ifdef __cplusplus
195 }
196 #endif
197 
198 #endif /*__STM32F4xx_HAL_DAC_EX_H */
199 
200 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
This file contains HAL common defines, enumeration, macros and structures definitions.
HAL_StatusTypeDef
HAL Status structures definition.
Definition: stm32f4xx_hal_def.h:57
DMA handle Structure definition.
Definition: stm32f4xx_hal_dma.h:157